location /
Gena Makhomed
gmm на csdoc.com
Вт Окт 18 18:47:07 UTC 2011
On 12.10.2011 13:12, Igor Sysoev wrote:
>>>>> Когда-то Максим говорил, что в конфигурации всегда желательно
>>>>> указывать "location /", но в примерах на сайте http://nginx.org/
>>>>> не всегда указывается "location /", например, In catch-all server
>>>>> examples, на странице http://nginx.org/en/docs/http/server_names.html
>>>>> Вопрос: "всегда указывать location /" - это была рекомендация,
>>>>> чтобы обойти какие-то глюки в старых версиях nginx, и сейчас,
>>>>> в nginx 1.x.х это уже не актуально? или и сейчас есть какие-то случаи,
>>>>> когда nginx не будет нормально работать без "location /" в конфиге ?
...
>>>> Ошибок там, AFAIK, сейчас нет, а вот нюансы присутствуют.
>>>> Например, вот эти два конфига радикально отличаются:
>>>> server {
>>>> rewrite ^(.*) /prefix$1;
>>>> }
>>>> server {
>>>> rewrite ^(.*) /prefix$1;
>>>>
>>>> location / {
>>>> # nothing here
>>>> }
>>>> }
>>> в первом случае происходит зацикливание rewrite or internal redirection
>>> cycle while processing "/prefix/prefix/prefix/prefix/prefix/prefix/..."
>>> а во втором rewrite на уровне server отрабатывает всего один раз.
>> Именно.
>>
>> И причина, в общем-то, очевидна - если знать нюансы. В первом
>> конфиге на самом деле написано нечто вроде:
>>
>> server {
>> rewrite ^(.*) /prefix$1;
>>
>> location / {
>> rewrite ^(.*) /prefix$1;
>> }
>> }
>>
>> И по понятным причинам будет цикл.
> Патч для предотвращения цикла.
Максим, сейчас уже все известные "нюансы" которые могут быть
при отсутствии в конфиге "location /" устранены этим патчем,
или еще что-то из известных "нюансов" (ошибок) осталось?
и после того, как этот патч появится в стабильной ветке,
рекомендацию всегда указывать в конфигурации "location /"
можно будет считать устаревшей (для новых версий nginx) ?
потому что, как я понимаю, отсутствие location /
в конфиге теперь будет полностью эквивалентно
наличию явно указанного "location / { }" ?
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru