missing $uri when performing proxy_pass ??
Maxim Dounin
mdounin at mdounin.ru
Fri Feb 6 04:49:11 MSK 2009
Hello!
On Fri, Feb 06, 2009 at 01:06:37AM +0000, Thomas Mangin wrote:
> I think I hit a bug (and found a workaround) however as I may be
> mistaken, I would appreciate if someone could review this and let me
> know if the behaviour observed is normal or not.
[...]
> I got around the problem by changing the proxy_pass for http://
> $backend/$uri but it was my impression that this should not be needed as
> without trailing / the uri would be appended.
No. There are 3 forms of proxy_pass currently:
proxy_pass http://backend;
proxy_pass http://backend/path/;
proxy_pass http://$variables;
First two forms will append uri automatically (without or with
modifications of part matching current location). In the third
form, i.e. if variables used, it's you responsibility to construct
full valid uri.
BTW, http://$backend/$uri is actually wrong (extra '/', no query string,
and $uri is unescaped - this sometimes matters). Better use
something like
proxy_pass http://$backend$request_uri;
Maxim Dounin
More information about the nginx
mailing list