missing $uri when performing proxy_pass ??
Thomas Mangin
thomas.mangin at exa-networks.co.uk
Fri Feb 6 12:10:23 MSK 2009
Hello Maxim,
> 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;
Thank you for the clarification and the fix, it confused the hell out
of me :)
For some reason I expected the $request_uri to be appended if no
path / uri was passed and I can still not see why it should be as
otherwise nginx is sending an invalid request anyway (GET HTTP/1.0),
so it can not break existing configuration and would make the
behaviour more consistent and predictable.
Could you share some light on the reason for this special case please
(if you know of one) ?
Thomas
More information about the nginx
mailing list