set_header

Igor Sysoev is at rambler-co.ru
Thu Mar 9 13:45:14 MSK 2006


On Thu, 9 Mar 2006, Монашёв Михаил wrote:

>> Возможно,  запрос  уходит  не  на  тот  сервер  ? 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      http://127.0.1.5:80/;
>                }
>        }
>
> весьма  вероятно  изменяет  ещё  и  заголовок  Host.  Как  закомментарю
> proxy_set_header, так всё работает.
>
> Сейчас  ещё  посмотрел  внимательнее заголовки: в поле Host записалось
> "127.0.1.5:80", хотя на уровне http у меня записано:
>
> proxy_set_header Host $host;
>
> Вот такая петрушка.

http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_set_header

[ ... ] Директивы наследуются с предыдущего уровня при условии, что на
данном уровне не описаны свои директивы proxy_set_header. По умолчанию
переопределяются только две строки:

     proxy_set_header  Host        $proxy_host;
     proxy_set_header  Connection  close;


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list