proxy_redirect not working with "refresh"
John
aqqa11 at earthlink.net
Thu Apr 30 06:43:14 UTC 2015
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect says:
"(proxy_redirect) Sets the text that should be changed in the “Location” and “Refresh” header fields of a proxied server response."
All examples I found online only mentioned how it works with "Location", and that also works perfectly with me.
But it just doesn't work with "Refresh" for me. My backend site http://192.168.1.9/test.html is:
<html><head>
<meta http-equiv="refresh" content="0;url=http://192.168.1.9/" />
</head></html>
The nginx on my proxy 1.2.3.4 reads:
location / {
proxy_pass http://192.168.1.9;
proxy_set_header Host $host;
proxy_redirect default;
proxy_redirect http://192.168.1.9/ /;
proxy_redirect http://$proxy_host/ /;
proxy_redirect ~.* /;
proxy_redirect / /;
}
You can see I have exhausted all options on that nginx documentation. But after restarting nginx, "curl 1.2.3.4/test.html" still sees that "Refresh" line not translated to http://1.2.3.4/, and visiting http://1.2.3.4/test.html on browser will still redirect me to http://192.168.1.9/, which is unreachable.
Did I miss anything? Actually I don't understand that line about "proxy_set_header Host $host", I just copied from web.
Thank you!
More information about the nginx
mailing list