Multiple Upstream Servers Result in Error 310 (net::ERR_TOO_MANY_REDIRECTS)
Cliff Wells
cliff at develix.com
Tue Mar 6 21:46:55 UTC 2012
On 03/06/2012 01:08 PM, mevans336 wrote:
> I have an Nginx reverse-proxy sitting in front of two JBoss servers. If
> I attempt to add the second JBoss server to the upstream directive, I
> receive an Error 310 (net::ERR_TOO_MANY_REDIRECTS) from Chrome, IE just
> displays an "Internet Explorer cannot display this webpage" error. If I
> comment the second upstream server out a kill -HUP the master process,
> everything works properly.
>
> I am attempting to use Nginx to rewrite all HTTP requests to HTTPS and
> upon first contact with our domain, the JBoss application redirects you
> to https://my.domain.com/home.
> server {
> listen 10.0.3.28:80;
> server_name my.domain.com;
> location / {
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_next_upstream error timeout invalid_header;
> rewrite ^ https://$server_name$request_uri? permanent;
> proxy_pass http://jboss_dev_servers;
> }
> }
Why does the application do a redirect if you are already doing one in
your Nginx config? It's not clear why you even bother with the
proxy_pass in this location. Just redirect to the HTTPS location and be
done.
Also, be sure the application is properly detecting the scheme. In
your config, Nginx is talking to JBoss via HTTP, not HTTPS, so you may
have some issue there, something like proxy_set_header X-Scheme $scheme;
would do the trick.
I have no idea why this would work with a single backend and not two,
unless you are somehow inadvertently running two different versions of
the JBoss code (one with a redirect, one without).
Regards,
Cliff
More information about the nginx
mailing list