![Nginx 流与上游具有相同的服务器但不同的端口,获得有线结果](https://linux22.com/image/767916/Nginx%20%E6%B5%81%E4%B8%8E%E4%B8%8A%E6%B8%B8%E5%85%B7%E6%9C%89%E7%9B%B8%E5%90%8C%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BD%86%E4%B8%8D%E5%90%8C%E7%9A%84%E7%AB%AF%E5%8F%A3%EF%BC%8C%E8%8E%B7%E5%BE%97%E6%9C%89%E7%BA%BF%E7%BB%93%E6%9E%9C.png)
stream {
map $ssl_preread_server_name $backend_name {
home-s1.frp.xxx.com frp-s1;
home-s2.frp.xxx.com frp-s2;
default web;
}
upstream web {
server 127.0.0.1:8443;
}
upstream frp-s1 {
server internal-frps-s1.xxx.com:5011;
}
upstream frp-s2 {
server internal-frps-s2.xxx.com:5014;
}
server {
listen 443 reuseport;
listen [::]:443 reuseport;
proxy_pass $backend_name;
ssl_preread on;
}
}
这是我的 Nginx 配置,home-s1.frp.xxx.com 和 home-s2.frp.xxx.com 具有相同的 DNS 记录到 12.xxx,internal-frps-s1.xxx.com 和 internal-frps-s2.xxx.com 是具有不同网络别名的同一 docker 容器
当我访问home-s1.frp.xxx.com时,有时会获取home-s2.frp.xxx.com的HTML
这太奇怪了,home-s1.frp.xxx.com 应该获取端口 5011 的服务的结果,home-s1.frp.xxx.com 应该获取端口 5014 的服务的结果,如何实现?还是必须使用反向代理?