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

Reply via email to