nginx 万能中转

https://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html

该方法目前仅适用于中转tls的TCP流量。
服务器443端口链接获取到tls请求的sni值(也就是域名),赋值给$ssl_preread_server_name变量,然后又直接通过TCP转发到$ssl_preread_server_name对于的服务器443端口


stream {
    map $ssl_preread_server_name $targetBackend {
        yourdomian 127.0.0.1:8443;
        default $ssl_preread_server_name:443;
    }

    server {
        listen 443;

        proxy_connect_timeout 10s;
        proxy_timeout 10s;
        resolver 1.1.1.1;

        proxy_pass $targetBackend;
        ssl_preread on;
    }
}

 

上一篇
下一篇