Proxy_pass url with a #

Brian Whalen brian at
Sun Oct 7 13:54:54 UTC 2018

In summary I am trying to reverse proxy a group of windows web servers, 
where there is a # in the url. I have it mostly working except this. I 
used the nginx ldap auth modules, including their sample backend app. In 
that app, when auth succeeds a page is presented with a hello world you 
were successful message; what I want to do is actually load one of those 
windows webservers. I've been trying to use the python requests module 
via a typical import, but have not gotten this quite right. If I use # 
then it is treated as a comment skipping the rest of the url, and if I 
use %23 I get a 404 in a tcpdump. I dont think the hash is the whole 
problem though, since if I try to load some other page after the 
successful auth it also fails.

I know also that If I just do a straight proxy_pass to the url without 
the ldap auth and then type in nginxserver/path#/with/pound that works.


On 10/6/18 3:41 PM, Francis Daly wrote:
> On Fri, Oct 05, 2018 at 08:59:21AM -0700, Brian W. wrote:
> Hi there,
>> In have this largely working aside from the above. If I proxy pass to the
>> url with a # in it it's treated like a comment and ignores the rest. If I
>> encode it with %23 I get a 404 error. What have you all done to get past
>> this?
> # is usually not included in a url that is sent in a request to a web server.
> Can you describe what you want to achieve, and what you are currently doing?
> Perhaps that will make clearer how to make it happen.
> Cheers,
> 	f

More information about the nginx mailing list