ssh-tunnel into website nginx strips out port number in response

John Wong gokoproject at gmail.com
Fri May 25 07:30:04 UTC 2012


Same post is made here:
http://serverfault.com/questions/392530/nginx-when-tunnel-the-url-redirects-without-port-number

But I will make a shorter version (as much as possible)

I want to be able to ssh-tunnel into my Django website, so I can work
remotely. I've tested a simple Django project on my personal computer, with
very simple nginx configuration (starter, default). I tunnel and
redirection returns with port number as part of the url. So I am sure this
is not a Django problem. It's mainly my nginx configuration.

Relevant code:

server {
>     listen 80;
>     server_name localhost 127.0.0.1;
>     server_name_in_redirect off;
>
> # location other services go here
>
> location ~ /forum/(.*)$ {
>     #rewrite ^(.*):(.*)/forum(.*)$ /$2 last;
>     #rewrite ^(.*)$ http://localhost:8000/$1;
>     #rewrite ^/forum(.*)$ $1 break;
>
>     # the forum service runs as local, listens to 8000 port...
>     proxy_pass http://localhost:8000;
>     proxy_redirect default;
>
>     proxy_set_header Host $host;
>     proxy_set_header X-Real-IP $remote_addr;
>     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> }
>
>
Then I ssh-tunnel, open the browser, http://localhost:1111, and when I
login, or do anything that requires redirection, I get
http://localhost/forum/front-page <http://yahoo.com/> instead of
http://localhost:1111/froum/front-page <http://yahoo.com/>

These links are wrong, nginx will complain (from the server side) they do
not exist.

I've tried stuff like

proxy_set_header $host:$server_port;  # or
proxy_set_header $proxy_host:$proxy_port;  # or
proxy_set_header $host:$proxy_port;  # or
rewrite ^(.*):(.*)/forum(.*)$ /$2 last;
#rewrite ^/forum(.*)$ $1 break;
proxy_redirect http://localhost/ http://$host:$proxy_port;

The 2nd proxy_set_header shows a little progress. After pressing submit, I
get a blank page, with the original url (http://localhost:1111/post and
then I see the same url again).

Any idea how to resolve my problem? Thanks.

John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20120525/a47f4d82/attachment.html>


More information about the nginx mailing list