Всем привет.
Столкнулся со странной проблемой на одном из фронтэндов. Есть несколько вируальных хостов, для упрощения возьмем host1 и host2
При запросах host1, ошибки вида:
91.143.38.134 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-"
188.19.97.96 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-"
85.117.224.56 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-"
217.132.37.176 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-"
пишутся в access лог host2
Причем в error логе host2 это отображается так
2012/07/04 15:27:34 [info] 1892#0: *171499 client prematurely closed connection while reading client request line, client: 91.143.38.134, server: host2
2012/07/04 15:27:34 [info] 1886#0: *167326 client prematurely closed connection while reading client request line, client: 188.19.97.96, server: host2
2012/07/04 15:27:34 [info] 1890#0: *173368 client prematurely closed connection while reading client request line, client: 85.117.224.56, server: host2
2012/07/04 15:27:34 [info] 1890#0: *171609 client prematurely closed connection while reading client request line, client: 217.132.37.176, server: host2
Если я правильно понимаю, то это свидетельствует о коннекте клиента к host2 с последующим закрытием соединения? Но на host1 никаких упоминаний о host2 нет.
Юзерагенты у клиентов разные. Пользователи легитимные. host1 при запросе отдал им 200 код.
Конфиг host1. Некоторые локейшены я убрал, поскольку они вида location /some { root /home/www/host1; index index.htm;} и только затрудняют чтение конфига.
server {
listen <ip>;
server_name host1 www.host1;
access_log /var/log/nginx/frontend-host1/access.log main;
error_log /var/log/nginx/frontend-host1/error.log notice;
root /home/www/host1;
ssi on;
gzip_static off;
gzip off;
charset windows-1251;
sendfile on;
ssi_value_length 200k;
include /etc/nginx/deny.conf;
location / {
proxy_cache main-cache;
proxy_cache_valid 200 302 301 304 3s;
proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$uri";
proxy_hide_header "Set-Cookie";
proxy_ignore_headers "Cache-Control" "Expires";
proxy_cache_lock on;
include /etc/nginx/proxy_params;
proxy_set_header Host "host1";
proxy_pass http://<backend ip>;
}
Конфиг host2 приводить смысла нет, поскольку, если например убираешь его из конфигурации, то сообщения о 400 ошибке начинают логироваться в другой hostN с другой конфигурацией.
Может, уважаемое сообщество подскажет, в каком направлении копать?
Спасибо.