关于clb代理nginx静态页面刷新后自动添加端口问题
需求
阿里clb代理前端nginx应用,使得可以公网访问
现象
clb及nginx配置完毕后,初次访问正常,但是首页刷新后会自动添加nginx端口,导致页面无法访问
模拟配置
模拟clb配置
server {
listen 80 default_server;
server_name demoapp.com.cn;
location /public/ {
proxy_pass http://192.168.99.100:8080/public/;
}
}
静态服务器配置
server {
listen 8080 default_server;
location ~* /public/(share|webview) {
root html ;
proxy_buffering off;
index index.html index.htm;
}
}
通过demoapp.com.cn/public/share访问的时候,首页刷新后,会跳转到demoapp.com.cn:8080/public/share
解决方案
这个时候,port_in_redirect就派上用场了。添加此参数,可解决
server {
listen 8080 default_server;
location ~* /public/(share|webview) {
root html ;
proxy_buffering off;
port_in_redirect off;
index index.html index.htm;
}
}
通过指定port_in_redirect off;告知nginx在redirect的时候不要带上port,如果没有配置,默认该值为true

浙公网安备 33010602011771号