Re: Непонятки с ответом 400

Maxim Dounin mdounin на mdounin.ru
Пн Ноя 20 12:34:39 UTC 2017


Hello!

On Mon, Nov 20, 2017 at 02:57:13PM +0300, CoDDoC wrote:

> Доброго дня!
> 
> Собственно, классическая секция server, принимающая запросы с неправильным $host:
> 
> server {
>     listen <IP сервера>:80 default_server;
>     listen <IP сервера>:443 default_server;
>     server_name _;
>     return 444;
>     access_log .... здесь лог, что попадет в эту секцию
> }
> 
> Формат этого лога:
> [$remote_addr] [$host] [$http_host] [$request] [$status] [$http_user_agent] [$server_name] [$server_port]
> 
> Там такая запись:
> [155.94.254.143] [<IP сервера>] [<IP сервера>] [GET /OWA-AUTODISCOVER-EWS HTTP/1.1] [400] [Mozilla/5.0 Project 25499 (project25499.com)] [_] [80]
> 
> В error логе вижу такое:
> [info] 7455#0: *356814 client prematurely closed connection while reading client request headers, client: 155.94.254.143, server: _, request: "GET /OWA-AUTODISCOVER-EWS HTTP/1.1", host: "<IP сервера>"
> 
> Хорошо, откуда 400, если должно быть 444?

Если клиент закрыл соединение, не прислав запрос полностью - то 
это ошибка 400 Bad Request.  До обработки запроса - которая 
вернула бы 444 в соответствии в "return 444" в конфигурации - дело 
просто не доходит, потому что запрос ещё не получен полностью.

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru