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