nginx reverse proxy odd 301 redirect

Maxim Dounin mdounin at
Sun Oct 6 09:31:54 UTC 2013


On Sat, Oct 05, 2013 at 06:16:24PM -0400, izghitu wrote:

> Hi,
> I have latest nginx which I am using as a reverse proxy for an application
> of mine running on apache on another server. The nginx config is like this:
> upstream upstreamname {
>      server ip:port;
>  }
> ....
> location / {
>     proxy_pass http://upstreamname;
>     proxy_redirect off;
>     proxy_set_header    Host    $host;
>     proxy_set_header    X-Real-IP    $remote_addr;
>     proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
> }
> ...
> So my problem appears with a certain change password script new users must
> use when they login first time after their username was created.
> If I use apache directly then the change password script works fine. If I do
> it using nginx as reverse proxy then at the point where I press the submit
> button and the POST should happen, I can't see the POST hitting the apache
> backend(no entry in access log) but I can see an odd 301 redirect with the
> POST request to the script in the nginx access log.
> Any idea of what could be the cause? Anything I am doing wrong?

As long as the above configuration is a _full_ configuration of a 
server{} block, there shouldn't be any 301 redirects returned 
directly by nginx.  Most likely what you observe is a result of 
incorrect configuration of server{} blocks and/or wrong hostname 
used in request.

If it's not a full configuration - there isn't enough information 
to provide any help.  See here for some tips what can be useful:

Maxim Dounin

More information about the nginx mailing list