ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nginx-0.1.43 parser error



On Thu, 22 Sep 2005, Alexander Gnevshev wrote:

Весьма странно. Вырезка из документации:

*syntax: *proxy_pass_unparsed_uri */[on|off]/*
*default: *proxy_pass_unparsed_uri off
*context: *http, server, location

Исправим.

Почему бы не определять эту директиву на уровне http? Мне было бы очень удобно во всех server{} иметь собственное значение по умолчанию. То есть допустимые контексты по идее не должны отличаться от proxy_buffers, proxy_set_header и пр.

Потому что, proxy_pass работает как alias, то есть, для

    location  /one/  {
        proxy_pass    http://localhost/two/;
    }

в запросе меняется URI. А URI может быть например, таким:
"/one%2F%2E/page.html". nginx превращает этот URI в /one/page.html,
а proxy_pass - в /two/page.html. Если передавать unparsed uri, то
нужно понять, какая часть в /one%2F%2E/page.html соответствует /one/.

Поэтому, если задано proxy_pass_unparsed_uri, то в URI ничего не меняется,
а для того, чтобы всё работало, как ожидается, то область использования
proxy_pass_unparsed_uri ограничивается:

"proxy_pass_unparsed_uri" can be set for location "/" or given
by regular expression.

Segmentation fault происходит из-за того, что nginx пытается показать
это сообщение для разделов http и server.


Igor Sysoev wrote:

On Thu, 22 Sep 2005, Alexander Gnevshev wrote:

Директива "proxy_pass_unparsed_uri on;", помещенная на уровне http, заставляет nginx вызывать segmentation fault при тестировании конфигурации.


А ей там не место. Теперь будет писать "is not allowed here".



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




 




Copyright © Lexa Software, 1996-2009.