55 lines
1.9 KiB
Python
55 lines
1.9 KiB
Python
# generate nginx config
|
|
import sys
|
|
import config
|
|
from pathlib import Path
|
|
|
|
# config
|
|
session_server_domain = config.session_server_domain
|
|
session_server_ip = config.session_server_ip
|
|
session_server_postfix = config.session_server_postfix
|
|
session_server_port = config.session_server_port
|
|
session_begin_port = config.session_begin_port
|
|
session_limit = config.session_limit
|
|
nginx_dir_name = 'nginx'
|
|
|
|
# redirect stdout to file
|
|
stdout_default = sys.stdout
|
|
Path(nginx_dir_name).mkdir(parents=True, exist_ok=True)
|
|
output_file_name = nginx_dir_name+ '/' + 'session-server-' + session_server_postfix + '.conf'
|
|
output_file = open(output_file_name, 'w')
|
|
sys.stdout = output_file
|
|
|
|
# generate config
|
|
print('server {')
|
|
print('\t#session server domain')
|
|
print('\tserver_name ' + str(session_server_domain) + ';')
|
|
|
|
print('\n\t#session server location')
|
|
print('\tlocation /' + session_server_postfix + '/ {')
|
|
print('\t\tproxy_pass http://' + session_server_ip + ':' + str(session_server_port) + '/;')
|
|
print('\t\tproxy_http_version 1.1;')
|
|
print('\t\tproxy_set_header Upgrade $http_upgrade;')
|
|
print("\t\tproxy_set_header Connection 'upgrade';")
|
|
print('\t\tproxy_set_header Host $host;')
|
|
print('\t\tproxy_cache_bypass $http_upgrade;')
|
|
print('\t}\n')
|
|
|
|
print('\t#sessions location')
|
|
|
|
for i in range(0, session_limit):
|
|
print('\tlocation /' + str(session_server_postfix) + '/' + str(session_begin_port + i) + '/ {')
|
|
print('\t\tproxy_pass http://' + str(session_server_ip) + ':' + str(session_begin_port + i) + '/;')
|
|
print('\t\tproxy_set_header Upgrade $http_upgrade;')
|
|
print("\t\tproxy_set_header Connection 'upgrade';")
|
|
print("\t\tproxy_connect_timeout 86400s;")
|
|
print("\t\tproxy_send_timeout 86400s;")
|
|
print("\t\tproxy_read_timeout 86400s;")
|
|
print('\t}')
|
|
|
|
print('}')
|
|
|
|
# undo redirect to file
|
|
sys.stdout = stdout_default
|
|
output_file.close()
|
|
|
|
print('nginx config file saved to: ' + output_file_name) |