Proxy_pass url with a #

Francis Daly francis at
Mon Oct 8 18:22:51 UTC 2018

On Mon, Oct 08, 2018 at 08:21:08AM -0700, Brian W. wrote:

Hi there,

> I want to do a successful auth, which I can, and then after the successful
> auth be reverse proxied to the specified web server, not a simple 302
> redirect, but actual reverse proxy. When I replace the hello world line
> with a get, I just get blank white screen. I can curl -i and get a 200. I
> can also reverse proxy without the auth and have it work.

I'm still unclear about what you mean by the above.

I *think* you are saying:

when your nginx.conf has

  server {
    location / {
      proxy_pass http://windows-server;

that everything works; you can "curl -v http://nginx/something" and get
the expected response from http://windows-server/something.

Am I correct in that much?

I also think you are saying:

when your nginx.conf has

  server {
    location / {
      auth_request /auth;
      proxy_pass http://windows-server;
    location = /auth {
      # your ldap-related things that return http 200 when things are good,
      # and 401 or 403 when things are bad

then some parts fail in some way -- you request http://nginx/something,
and you expect one response but you get one other response -- possibly
a http 302 to some other url?

Am I correct in that?

> What I need to figure out is how do I do the reverse proxy to a web server
> on a different machine and send the user there via reverse proxy after a
> successful auth.

In nginx terms, that's auth_request --

If we can understand where in the sequence things fail first, maybe it
will be clearer what needs to change in order to get things to succeed.


Francis Daly        francis at

More information about the nginx mailing list