Skip to content

Instantly share code, notes, and snippets.

@lwzm
Last active November 7, 2019 10:09
Show Gist options
  • Save lwzm/7875f421f330c67a214adf27e662699a to your computer and use it in GitHub Desktop.
Save lwzm/7875f421f330c67a214adf27e662699a to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
import sys
from string import Template
tpl = Template("""
upstream ${name} {
server ${name}${port};
keepalive 64;
}
server {
server_name ${name}.*;
listen 80;
listen 443 ssl http2;
# https://caddyserver.com/docs/proxy
# see websocket and transparent
proxy_http_version 1.1;
proxy_connect_timeout 2;
proxy_read_timeout 300;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Connection $http_connection;
proxy_set_header Upgrade $http_upgrade;
location / {
proxy_pass http://${name};
}
}
""")
def g(name, port=''):
port = port and f":{int(port)}"
print(tpl.safe_substitute(name=name, port=port), file=open(f"{name}.conf", "w"))
if __name__ == '__main__':
g(*sys.argv[1:])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment