map $ssl_preread_protocol $router_server_name_<%- router.port %> { # ssl connection default $ssl_preread_server_name; # non-ssl connection "" "_non_ssl_connection"; } map $router_server_name_<%- router.port %> $router_address_<%- router.port %> { hostnames; # default ssl address default "<%- router.defaultSslLocalAddress || "" %>"; # default non-ssl address "_non_ssl_connection" "<%- router.defaultLocalAddress || "" %>"; <% for ( const [ serverName, localAddress ] of router.serverNames.entries() ) { -%> "<%- serverName %>" "<%- localAddress %>"; <% } -%> } server { <% if ( nginx.listenIpV4 ) { -%> listen *:<%- router.port %> default_server reuseport; <% } -%> <% if ( nginx.listenIpV6 ) { -%> listen [::]:<%- router.port %> default_server reuseport; <% } -%> ssl_preread on; pass $router_address_<%- router.port %>; }