Reverse proxy from HTTPS to HTTP from an unknown source location
speedfirst
nginx-forum at nginx.us
Sat Jul 23 03:32:46 UTC 2011
normally, your backend server should do the redirect in a relative URL,
unless you really want to redirect to another host. That's something
like
sendRedirct("/redirectTo/anotherPath");
In this way, the backend server will send redirect URL with the HOST
header specified in the request. In your case, it should be:
Location: http://mybackendserver:8080/redirectTo/anotherPath
If you don't use "proxy_add_header Host xxxx", nginx will the argument
specified in "proxy_pass" as the Host to the backend. And in this case,
the config:
proxy_redirect default;
Or
proxy_redirect http://mybackendserver:8080/ /;
will automatically handle everything.
If you insist to let the backend server do the FULL URL redirection, you
have to manually specify all possible proxy_redirect like this:
proxy_redirect <FULL URL 1> /;
proxy_redirect <FULL URL 2> /;
...
By the way, the first argument of "proxy_redirect" doesn't support var.
If you specify a var, nginx doesn't recognize it, and doesn't report an
error too. It just considers it as literal.
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,212823,212827#msg-212827
More information about the nginx
mailing list