proxy_redirect
語(yǔ)法:proxy_redirect [ default|off|redirect replacement ];
默認(rèn):proxy_redirect default;
配置塊:http、server、location
當(dāng)上游服務(wù)器返回的響應(yīng)是重定向或刷新請(qǐng)求(如HTTP響應(yīng)碼是301或者302)時(shí)讹开,proxy_redirect可以重設(shè)HTTP頭部的location或refresh字段伟桅。
location /login {
proxy_pass http://target_servers/login ;
}
假設(shè)當(dāng)前nginx的訪問(wèn)地址為http://192.168.99.100:8080,如果target_servers又有302到192.168.99.100/xxx
那么可以添加下redirect错忱,將302的location改為http://192.168.99.100:8080/xxx
location /login {
proxy_pass http://target_servers/login ;
proxy_redirect http://192.168.99.100/ http://192.168.99.100:8080/;
}
host變量
如果不想寫(xiě)死ip地址磷支,可以使用nginx的變量
location /login {
proxy_pass http://target_servers/login ;
proxy_redirect http://$host/ http://$http_host/;
}
其中host不帶端口的,也就是nginx部署的主機(jī)ip身弊,而$http_host是帶端口的