# 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)