<HTML><BODY>Ладно, с этим разберусь.<br>Еще толику Вашего времени... Не совсем в тему, но почти. О выборе секции server для обработки запроса.<br><br>Я слегка запутался, что от чего зависит: $host от $server_name или наоборот?<br>Вот как я это понимаю.<br><br>1. Сначала неправильный запрос:<br>echo -e 'HEAD http://www.other-domain.com/some-path HTTP/1.1\n''host:www.my-domain.com\n''user-agent:NCAT-TEST\n'| ncat www.my-domain.com 80<br>Как все происходит (ИМХО):<br>1.1. Получаем значение $host из строки запроса: $host = www.other-domain.com<br>На заголовок ($http_host = www.my-domain.com) в данном случае не смотрим.<br>1.2. Ищем секцию, соответствующую значению $host для заданного порта (80)<br>1.3. Такой секции не существует, запрос передается в дефолтовую, и получаем $server_name = _<br><br>----------------------------------------------------<br>2. Теперь правильный запрос:<br>echo -e 'HEAD / HTTP/1.1\n''host:www.my-domain.com\n''user-agent:NCAT-TEST\n'| ncat www.my-domain.com 80<br>2.1. В строке запроса хоста нет, берем из заголовка ($http_host = www.my-domain.com).<br>Получаем значение $host из $http_host: $host= www.my-domain.com<br>2.2. Ищем секцию, соответствующую значению $host для заданного порта (80)<br>2.3. Передаем в нее запрос и получаем $server_name = www.my-domain.com<br><br>----------------------------------------------------<br>3. Опять неправильный запрос с пустым $http_host:<br>echo -e 'HEAD / HTTP/1.1\n''host:\n''user-agent:NCAT-TEST\n'| ncat www.my-domain.com 80<br>3.1. Значения $host = '' и $http_host = ''<br>3.2. Ищем секцию, соответствующую значению $host для заданного порта (80)<br>3.3. Такой секции не существует, запрос передается в дефолтовую, и получаем $server_name = _<br>3.4. $host получает значение $server_name, т.е. $host = _<br>Т.е., в отличие от примера 2, не $server_name получаем из $host, а $host из $server_name<br><br>Я верно понимаю алгоритм?<br><br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        Понедельник, 20 ноября 2017, 16:24 +03:00 от Maxim Dounin <mdounin@mdounin.ru>:<br>
        <br>
        <div id="">






















        












<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
        <div>
                <base target="_self" href="https://e.mail.ru/">
                
            <div id="style_15111842660000000989_BODY">Hello!<br>
<br>
On Mon, Nov 20, 2017 at 03:43:16PM +0300, CoDDoC wrote:<br>
<br>
> Это я понял. Бот дернул запрос и быстро сбежал, чтобы не попасть в бан. Однако-же попал :)<br>
> Как мне эмулировать такую ситуацию?<br>
<br>
Я, вроде бы, вполне однозначно написал:<br>
<br>
> > Если клиент закрыл соединение, не прислав запрос полностью - <br>
> > то ...<br>
<br>
Так и эмулировать - закрывать соединение, не прислав запрос <br>
полностью.<br>
<br>
[...]<br>
<br>
-- <br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" target="_blank">http://mdounin.ru/</a><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br data-mce-bogus="1"></div>
            
        
                <base target="_self" href="https://e.mail.ru/">
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>--<br></BODY></HTML>