user nginx; worker_processes auto; load_module /usr/lib/nginx/modules/ngx_stream_module.so; error_log /logs/upstream_error; pid /var/run/nginx.pid; events { worker_connections 1024; } stream { upstream other { server ng:443; } upstream si { server si:443; } upstream singbox { server 127.0.0.1:4443; } upstream ocserv { server oc:443; } upstream naive { server np:443; } map_hash_bucket_size 128; map $ssl_preread_server_name $sni_name { #domain vk.com singbox; #domain #ocserv #oc.domain ocserv; #ocserv #naive #np.domain naive; #naive default other; } server { listen 4443 reuseport proxy_protocol; proxy_pass si; } server { listen 443 reuseport; proxy_pass $sni_name; ssl_preread on; proxy_protocol on; } server { listen 443 udp; proxy_pass $sni_name; ssl_preread on; proxy_protocol on; } }