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:
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!