I have this setup
browser → ssl proxy → nginx
browser to ssl proxy is https only
ssl proxy to nginx is http only
now i browse to “exemple.com”, where aaa is a directory,
so nginx send back a 301 redirect with “Location: exemple.com”
Is it possible to send https instead of http (in Location),
or send a relative header, like “Location: /aaa/”,
or just disable this redirection (in my case it’s ok)
On Thu, Aug 27, 2015 at 12:30 AM, Etienne Champetier [email protected] wrote:
Is it possible to send https instead of http (in Location),
or send a relative header, like “Location: /aaa/”,
or just disable this redirection (in my case it’s ok)
so nginx send back a 301 redirect with “Location: exemple.com”
nginx mailing list [email protected] nginx Info Page
use a rewrite 302 can easy help. If the client cant reach the intended
site (say due to internal network/firewalls) then you can also Proxy the
connection if needed.
here is how the 302 rewrite would look like:
rewrite ^ https://$hostname$request_uri? redirect;
You can also mix this with an if statement in case you only want
“http://example.com/aaa” to be redirected to HTTPS and not everything
example:
if ($host = example.com) {
if ($uri = /aaa/) {
rewrite ^ https://$hostname$request_uri? redirect;
}
}
Something like that, this is untested but should work.
Keep in mind that using IF like this has a performance cost (though
small, it all depends on number of req/site load… something to keep in
mind)