Доброго дня!
Собственно, классическая секция 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?
Пытаюсь эмулировать ситуацию:
echo -e 'GET /OWA-AUTODISCOVER-EWS HTTP/1.1\n''host:<IP сервера>\n''user-agent:Mozilla/5.0 Project 25499 (project25499.com)\n'| ncat <IP сервера> 80
И получаю ожидаемое 444. Т.е. за исключением ответа 444 и моего IP, все аналогично:
[<мой IP>] [<IP сервера>] [<IP сервера>] [GET /OWA-AUTODISCOVER-EWS HTTP/1.1] [444] [Mozilla/5.0 Project 25499 (project25499.com)] [_] [80]
Вот такая печалька...
Что я упускаю и как получить 400?
Спасибо.
--_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru