Nginx 流与上游具有相同的服务器但不同的端口,获得有线结果

Nginx 流与上游具有相同的服务器但不同的端口,获得有线结果
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 的服务的结果,如何实现?还是必须使用反向代理?

相关内容