Hi list, I have a web app proxied by nginx. Everything works fine locally. However the web server is on our private network and I would like to access it though a ssh tunnel from the outside. Most operations works fine except when the web app returns a 302 redirection. In that case it seems that nginx removes the http port (detailed issue below).
Here are the details: The ssh tunnel is made through our ssh gateway: ssh m...@ourgateway.tld -L8080:privateWebServer:80 I then connect to a 'normal' page and everything looks good: $ curl http://localhost:8080/wiki/wiki -D - HTTP/1.1 200 OK Server: nginx/0.7.67 Date: Tue, 23 Jul 2013 08:52:54 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Content-Length: 98961 $ curl http://localhost:8080/wiki -D - However when I try a page that returns a 302 redirect, I have this: HTTP/1.1 302 Found Server: nginx/0.7.67 Date: Tue, 23 Jul 2013 08:54:46 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Content-Length: 93937 Location: http://localhost/wiki/wiki (the 8080 port was removed from the location). If I try to contact directly the web app throug the tunnel (on port 6544) I have this: $ curl http://localhost:6544/wiki HTTP/1.1 302 Found Content-Length: 178 Content-Type: text/html; charset=UTF-8 Date: Tue, 23 Jul 2013 08:57:16 GMT Location: http://localhost:6544/wiki/wiki Server: waitress So it looks like that the problem comes from my nginx configuration. location /wiki { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; port_in_redirect on; proxy_pass http://127.0.0.1:6544; } I actived the debug log and this extract looks interesting: 2013/07/23 11:08:10 [debug] 14798#0: *6845 http header: "Host: localhost:8080" [...] 2013/07/23 11:08:10 [debug] 14798#0: *6845 http proxy header: 2013/07/23 11:08:10 [debug] 14798#0: *6845 http script copy: "Host: " 2013/07/23 11:08:10 [debug] 14798#0: *6845 http script var: "localhost" 2013/07/23 11:08:10 [debug] 14798#0: *6845 http script copy: " [...] "GET /wiki HTTP/1.0 Host: localhost X-Real-IP: *our_ssh_gateway_ip* X-Forwarded-For: *our_ssh_gateway_ip* X-Forwarded-Proto: http Connection: close User-Agent: curl/7.26.0 Accept: */* " I would really appreciate any help regarding this issue. Regards, Adrien _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx