[+] update nginx multiplexing

This commit is contained in:
Siarhei Siniak 2025-03-15 13:40:38 +03:00
parent 7442368b03
commit c1e598b3ab

@ -217,20 +217,29 @@ def ssl(input_json, output_conf):
upstream_servers = []
server_names = []
for k, v in ssl_nginx['stream_server'].items():
upstream_servers.append(
'upstream %s { server %s; }' % (
v['upstream_name'],
v['url'],
if 'by_server_name' in ssl_nginx['stream_server']:
for k, v in ssl_nginx['stream_server']['by_server_name'].items():
upstream_servers.append(
'upstream %s { server %s; }' % (
v['upstream_name'],
v['url'],
)
)
)
server_names.append(
'"%s" %s;' % (
v['server_name'], v['upstream_name'],
server_names.append(
'"%s" %s;' % (
v['server_name'], v['upstream_name'],
)
)
)
if 'ssh' in ssl_nginx['stream_server']:
ssh_section = 'upstream ssh { server {ssh}; }'.replace(
'{ssh}',
ssl_nginx['stream_server']['ssh'],
)
else:
ssh_section = ''
ssl_port = 444
stream_server = r'''
stream {
@ -240,17 +249,15 @@ stream {
{upstream_servers}
#upstream ssh {
# server {ssh};
#}
{ssh_section}
#map $ssl_preread_protocol $upstream {
# default ssh;
# "TLSv1.2" web;
# "TLSv1.3" web;
#}
map $ssl_preread_protocol $upstream_protocol {
default ssh;
"TLSv1.2" $upstream_server_name;
"TLSv1.3" $upstream_server_name;
}
map $ssl_preread_server_name $upstream {
map $ssl_preread_server_name $upstream_server_name {
default web;
{server_names}
}
@ -260,7 +267,7 @@ stream {
listen 443;
ssl_preread on;
proxy_pass $upstream;
proxy_pass $upstream_protocol;
}
}
'''.replace(
@ -268,6 +275,8 @@ stream {
' ' + o + '\n'
for o in upstream_servers
]),
).replace(
'{ssh_section}', ssh_section,
).replace(
'{server_names}', ''.join([
' ' + o + '\n'