On Wed, Aug 25, 2010 at 05:08:31PM +0800, [email protected] wrote:
If server_name_in_redirect is on, then Nginx will use the first value
of the server_name directive for redirects. If server_name_in_redirect
is off, then nginx will use the requested Host header.
But it didn’t work in my case. On nginx 0.8.44
You misunderstood wiki. It says “nginx will use first value …
for redirects”, but it doesn’t say anything about “all request
will be redirected”. Server name will be only used if nginx
would issue redirect for some reason (e.g. directory redirect to
add trailing slash).
Note well: using port in server_name doesn’t make sense as nginx
only match hostname part of a request’s Host header against it.
Distinction between different ports is made at socket level.
If you want all requests to port 80 to be redirected to port 7788
you should write something like this:
rewrite ^ http://example.com:7788$request_uri?;
... here actual request processing ...