diff --git a/nginx/nginx-dev/prepare.py b/nginx/nginx-dev/prepare.py index 8e6e0bd..bf70235 100644 --- a/nginx/nginx-dev/prepare.py +++ b/nginx/nginx-dev/prepare.py @@ -30,6 +30,22 @@ except Exception as e: config = "" for host, params in hosts.items(): + websocket = "" + for url in params.get("websocket", []): + websocket += """ + location {url} {{ + resolver 127.0.0.11; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + proxy_read_timeout 86400; + proxy_send_timeout 86400; + + proxy_pass http://{target_host}:{port}; + }} + """.format(url=url, target_host=params["host"], port=params["port"]) config += """ server {{ listen 443 ssl http2; @@ -49,13 +65,16 @@ for host, params in hosts.items(): proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; + {websocket} + location / {{ resolver 127.0.0.11; proxy_pass http://{target_host}:{port}; }} + }}\n\n """.format( - host=host, target_host=params["host"], port=params["port"] + host=host, target_host=params["host"], port=params["port"], websocket=websocket ) try: fullchain = minio_client.get_object(