URL from X-Accel-Redirect overrides $uri for $proxy_pass after 1.2.0 upgrade
lekrus
nginx-forum на nginx.us
Сб Апр 28 11:44:53 UTC 2012
Здравствуйте,
Есть такой код:
location ~* ^/int/(.*) {
internal;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass $scheme://$backend;
proxy_redirect off;
proxy_buffering off;
}
На эту ветку nginx попадает после
передачи в X-Accel-Redirect параметра вида
"/int/bla"
Запрос вида: http://localhost/test.aspx
До обновления на 1.2.0 перенаправлял на
http://www.myhost.com/test.aspx
После обновления на 1.2.0 перенаправляет
на http://www.myhost.com/int/bla (т.е. на location, который
передали в X-Accel-Redirect header)
В документации написано, что
оригинальный URI не будет переписан.
После обновления на 1.2.0. пришлось
сделать такое изменение, чтобы
редирект был правильным:
proxy_pass $scheme://$backend$request_uri;
Подскажите - это раньше работало
неправильно, а в новой версии все
хорошо, либо это все же баг новой
версии, либо это новая особенность?
Спасибо,
Алексей
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,225896,225896#msg-225896
Подробная информация о списке рассылки nginx-ru