Возможно, запрос уходит не на тот сервер ? proxy_set_header с
предыдщего уровня в этом случае не наследуются.
Я могу ошибаться, но конструкция
server {
listen xx.xx.xx.xx:80;
server_name xxxxxxxx.ru;
location /i/ {
root /xxxxxxxxxx;
expires 30d;
charset windows-1251;
}
location ~* \.xml\.gz$ {
root /xxxxxxxxxx;
}
location / {
proxy_set_header Args "";
proxy_pass ;
}
}
весьма вероятно изменяет ещё и заголовок Host. Как закомментарю
proxy_set_header, так всё работает.
Сейчас ещё посмотрел внимательнее заголовки: в поле Host записалось
"127.0.1.5:80", хотя на уровне http у меня записано:
proxy_set_header Host $host;
Вот такая петрушка.
[ ... ] Директивы наследуются с предыдущего уровня при условии, что на
данном уровне не описаны свои директивы proxy_set_header. По умолчанию
переопределяются только две строки:
proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
Игорь Сысоев