feat: proxy pass options

This commit is contained in:
2022-12-24 00:16:19 +01:00
parent 1f47a1deee
commit f35969021a
3 changed files with 15 additions and 2 deletions

View File

@@ -27,6 +27,12 @@ http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
# needed for weechat #
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
ssl_certificate {{ ssl_path }}/fullchain.pem;
ssl_certificate_key {{ ssl_path }}/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;

View File

@@ -12,6 +12,7 @@ server{
location / {
proxy_pass http://{{ targetip }}:{{ targetport }};
proxy_set_header Host $http_host;
{{ proxy_pass_blob }}
}
}

10
vm.py
View File

@@ -14,6 +14,10 @@ class VM:
self.network = args.get("network") or "default"
self.lease = self._get_lease_for_hostname()
self.ip = self.lease.get("ipaddr")
self.proxy_pass_options = args.get("proxy_pass_options")
self.proxy_pass_blob = ""
if self.proxy_pass_options:
self.proxy_pass_blob = "\n".join(self.proxy_pass_options)
def _get_lease_for_hostname(self):
@@ -86,7 +90,8 @@ class VM:
compositeName = "-".join((self.hostname, subdomain["name"].replace(".","-")))
targetport = subdomain["port"]
component = template.render(targetip=self.ip, targetport=targetport,
servernames=[subdomain["name"]], comment=compositeName)
servernames=[subdomain["name"]], comment=compositeName,
proxy_pass_blob=self.proxy_pass_blob)
components.append(component)
elif any([type(e) == dict for e in self.subdomains]):
@@ -94,7 +99,8 @@ class VM:
else:
compositeName = "-".join((self.hostname, self.subdomains[0].replace(".","-")))
component = template.render(targetip=self.ip, targetport=targetport,
servernames=self.subdomains, comment=compositeName)
servernames=self.subdomains, comment=compositeName,
proxy_pass_blob=self.proxy_pass_blob)
components.append(component)
return components