使用四层代理转发流量以复用 443,结果在浏览器地址栏暴露了转发后的端口

查看 35|回复 0
作者:icaolei   
请教一下大佬们,设置的四层代理如下:
stream {
    map $ssl_preread_server_name $name {
        www.example.com     home;    # Home Page
        default     defaultpage;
    }
    upstream home {
        server 127.0.0.1:44301;
    }
    upstream defaultpage {
        server 127.0.0.1:44300;
    }
    server {
        listen  443 reuseport;
        listen  [::]:443 reuseport;
        proxy_pass        $name;
        ssl_preread on;
    }
}
在七层代理的 server 里监听 44301 ,使用 location /home/ 来指向部署的服务。
实际访问时,如果访问 https://www.example.com/home/ 可以正常访问。
但访问 https://www.example.com/home 就会跳转到 https://www.example.com:44301/home/
由于部署的项目本身不支持自定义路径,修改源码工程量太大,已放弃通过 locaion 来指向服务的方式。
不过我还是很想知道,为啥会暴露 44301 的端口,原理是啥,是在哪个环节暴露的,应该怎么避免这个问题?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部