直接上配置文件:
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; } } 通过 NGINX 的 stream ,使用 map 做 SNI ,随后设置上游 upstream 服务器(可以设置多个做负载均衡)即可。
对于上游内的服务器 server ,可以是 NGINX 不同配置文件内的服务器,也可以直接写内部服务。
map 内的 default 用于指定当所有 $ssl_preread_server_name 都匹配不到时的默认服务器。reuseport 表示对监听的端口进行复用,ssl_preread 用于开启 ssl 预读。
