Same post is made here:  <a href="http://serverfault.com/questions/392530/nginx-when-tunnel-the-url-redirects-without-port-number">http://serverfault.com/questions/392530/nginx-when-tunnel-the-url-redirects-without-port-number</a><br>
<br>But I will make a shorter version (as much as possible)<br><br>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. <br>
<br>Relevant code:<br><br><blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">server {<br>    listen 80;<br>    server_name localhost 127.0.0.1;<br>    server_name_in_redirect off;<br>
<br># location other services go here<br><br>location ~ /forum/(.*)$ {<br>    #rewrite ^(.*):(.*)/forum(.*)$ /$2 last;<br>    #rewrite ^(.*)$ <a href="http://localhost:8000/$1">http://localhost:8000/$1</a>;<br>    #rewrite ^/forum(.*)$ $1 break;<br>
<br>    # the forum service runs as local, listens to 8000 port...<br>    proxy_pass <a href="http://localhost:8000">http://localhost:8000</a>;<br>    proxy_redirect default;<br><br>    proxy_set_header Host $host;<br>    proxy_set_header X-Real-IP $remote_addr;<br>
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>}<br><br></blockquote><br>Then I ssh-tunnel, open the browser, <code><a href="http://localhost:1111">http://localhost:1111</a></code>, and when I login, or do anything that requires redirection, I get <a href="http://yahoo.com/" rel="nofollow">http://localhost/forum/front-page</a> instead of     <a href="http://yahoo.com/" rel="nofollow">http://localhost:1111/froum/front-page</a>

<p>These links are wrong, nginx will complain (from the server side) they do not exist.</p><p>I've tried stuff like</p>

<pre><code>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 <a href="http://localhost/">http://localhost/</a> http://$host:$proxy_port;
</code></pre>

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


<p>Any idea how to resolve my problem? Thanks.</p><p>John<br></p><br><br>