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