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! _______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
