Re: REQUEST_URI в проксируемом запросе

Andrey Repin hell-for-yahoo на umail.ru
Пн Июл 9 12:12:06 UTC 2012


Здравствуйте, Уважаемый(-ая, -ое) Alex Belyansky!

AB> Хотелось бы поинтересоваться по поводу поведения Nginx, при запросе 
AB> корневой директории.

AB> Конфиг виртуального хоста примерно такой:
AB> server {
AB>      listen 127.0.0.1:80;
AB>      server_name  test.ru ;
AB>      root /home/test/www/test.ru;
AB>      index index.php index.html;

AB>      location ~* \.php {
AB>          proxy_pass         http://upstream;
AB>      }

AB>      location / {
AB>          try_files   $uri    $uri/   @upstream;
AB>          error_page  404 = @upstream;
AB>          error_page  403 = @upstream;
AB>      }

AB>      location @upstream {
AB>         proxy_pass  http://upstream;
AB>      }

AB> }

AB> Версия Nginx:

AB> 1-ый сервер
AB> nginx: nginx version: nginx/1.0.0
AB> nginx: built by gcc 4.2.1 20070719  [FreeBSD]
AB> nginx: TLS SNI support enabled

AB> 2-ой сервер
AB> nginx version: nginx/1.3.2
AB> built by gcc 4.4.5 (Debian 4.4.5-8)
AB> TLS SNI support enabled

AB> Посылаем запрос к серверу:

AB> GET / HTTP/1.1

AB> Так вот суть вопроса в чем. Для первого сервера значение в PHP:
AB> _SERVER["REQUEST_URI"] = /

AB> А для второго:
AB> _SERVER["REQUEST_URI"] = /index.php

AB> Т.е. по сути получается что на первом сервере пересылается исходный 
AB> запрос на backend, а на втором уже идет запрос к '/index.php'. На втором 
AB> сервере пришлось убрать index.php из директивы index, чтобы на backend 
AB> приходил исходный запрос.

AB> Меня интересует нормально ли такое поведение или это какой-то глюк, или 
AB> мои кривые руки?

Второе. У вас конфиг неоднозначный.


-- 
С уважением

    Andrey Repin (hell-for-yahoo на umail.ru) понедельник, 09.07.2012, <16:11>


Подробная информация о списке рассылки nginx-ru