Port forwarding problem
Francis Daly
francis at daoine.org
Tue Jul 26 12:58:41 UTC 2011
On Tue, Jul 26, 2011 at 04:38:09PM +0400, Igor Sysoev wrote:
> On Tue, Jul 26, 2011 at 01:30:19PM +0100, Francis Daly wrote:
> > On Tue, Jul 26, 2011 at 06:35:23AM -0400, Quincy wrote:
Hi there,
> > > I have two machines. One is server with nginx and the other is NAT.
> > > On server I've got mediawiki on port 2222. I forwared port 55555 on my
> > > nat to server:2222. I have one big problem. When I try to open
> > > NAT_IP:55555 in my browser it redirects me to http://:2222. What's
> > > wrong with my config?
> >
> > I don't see a pure-config way to tell nginx to redirect using exactly
> > the Host: header sent by the client. I think that that is probably what
> > you want to have.
>
> "server_name_in_redirect off" forces to use client Host or, if there is
> no Host, server IP.
If the client sends
Host: hostname:1234
then "server_name_in_redirect off" causes nginx to redirect using
http://hostname/
i.e., it drops the :port from the Host: header. Unless my testing
is broken.
It might be convenient to have an option of "use exactly what the
client sent", but that won't be very useful if the client sends a
broken hostname. ngx_http_validate_host() protects against the broken
hostname now.
But I don't have a patch to offer.
> However, this is probably issue with mediawiki.
> If mediawiki is run via FastCGI, then setting
>
> fastcgi_param SERVER_NAME MYNAMEl;
> fastcgi_param SERVER_PORT 55555;
>
> may help.
Yes -- it would be good to show whether the redirect is coming from
nginx or mediawiki.
To the original poster: make a directory "temp" in your document root,
then do "curl -v http://NAT_IP:55555/temp", and if your nginx config
is such that that request will be handled internally within nginx, you
should see a HTTP 301 redirect to /temp/; if the full Location: header
shows port 55555, then nginx is processing the redirect as you intend,
and the original problem is likely best solved via mediawiki.
All the best,
f
--
Francis Daly francis at daoine.org
More information about the nginx
mailing list