From 70326e8104907d6dd37a120c79bcb557cb53d339 Mon Sep 17 00:00:00 2001
From: c6ristian <c6ristian@christian.moe>
Date: Mon, 13 Jan 2025 22:44:44 +0100
Subject: [PATCH] add cfp.eh22.easterhegg.eu to pretalx

---
 .../chaosknoten/host_vars/pretalx.yaml        |  1 +
 .../pretalx/nginx/cfp.eh22.easterhegg.eu.conf | 52 +++++++++++++++++++
 .../nginx/acme_challenge.conf                 |  1 +
 .../public-reverse-proxy/nginx/nginx.conf     |  1 +
 4 files changed, 55 insertions(+)
 create mode 100644 resources/chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf

diff --git a/inventories/chaosknoten/host_vars/pretalx.yaml b/inventories/chaosknoten/host_vars/pretalx.yaml
index f49cc15..663f5a4 100644
--- a/inventories/chaosknoten/host_vars/pretalx.yaml
+++ b/inventories/chaosknoten/host_vars/pretalx.yaml
@@ -5,6 +5,7 @@ certbot__version_spec: ""
 certbot__acme_account_email_address: le-admin@hamburg.ccc.de
 certbot__certificate_domains:
   - "pretalx.hamburg.ccc.de"
+  - "cfp.eh22.easterhegg.eu"
 certbot__new_cert_commands:
   - "systemctl reload nginx.service"
 
diff --git a/resources/chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf b/resources/chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf
new file mode 100644
index 0000000..0fa99e7
--- /dev/null
+++ b/resources/chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf
@@ -0,0 +1,52 @@
+# partly generated 2022-01-08, Mozilla Guideline v5.6, nginx 1.17.7, OpenSSL 1.1.1k, intermediate configuration
+# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6
+server {
+    # Listen on a custom port for the proxy protocol.
+    listen 8443 ssl http2 proxy_protocol;
+    # Make use of the ngx_http_realip_module to set the $remote_addr and
+    # $remote_port to the client address and client port, when using proxy
+    # protocol.
+    # First set our proxy protocol proxy as trusted.
+    set_real_ip_from 172.31.17.140;
+    # Then tell the realip_module to get the addreses from the proxy protocol
+    # header.
+    real_ip_header proxy_protocol;
+
+    server_name cfp.eh22.easterhegg.eu;
+
+    ssl_certificate /etc/letsencrypt/live/cfp.eh22.easterhegg.eu/fullchain.pem;
+    ssl_certificate_key /etc/letsencrypt/live/cfp.eh22.easterhegg.eu/privkey.pem;
+    # verify chain of trust of OCSP response using Root CA and Intermediate certs
+    ssl_trusted_certificate /etc/letsencrypt/live/cfp.eh22.easterhegg.eu/chain.pem;
+
+    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
+    add_header Strict-Transport-Security "max-age=63072000" always;
+
+    client_max_body_size 50M;
+
+    proxy_set_header Host $host;
+    proxy_set_header X-Forwarded-Host $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 443;
+    # This is https in any case.
+    proxy_set_header X-Forwarded-Proto https;
+    # Hide the X-Forwarded header.
+    proxy_hide_header X-Forwarded;
+    # Assume we are the only Reverse Proxy (well using Proxy Protocol, but that
+    # is transparent).
+    # Also provide "_hidden" for by, since it's not relevant.
+    proxy_set_header Forwarded "for=$remote_addr;proto=https;host=$host;by=_hidden";
+
+    location /media {
+        proxy_pass http://127.0.0.1:8081/media/;
+    }
+
+    location /static {
+        proxy_pass http://127.0.0.1:8081/static/;
+    }
+
+    location / {
+        proxy_pass http://127.0.0.1:8080/;
+    }
+}
diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf
index 2be2cfe..2bdeefb 100644
--- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf
+++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf
@@ -69,6 +69,7 @@ map $host $upstream_acme_challenge_host {
     woodpecker.hamburg.ccc.de 172.31.17.160:31820;
     design.hamburg.ccc.de 172.31.17.162:31820;
     hydra.hamburg.ccc.de 172.31.17.163:31820;
+    cfp.eh22.easterhegg.eu 172.31.17.157:31820;
     default "";
 }
 
diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf
index 95f6620..324a563 100644
--- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf
+++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf
@@ -87,6 +87,7 @@ stream {
         woodpecker.hamburg.ccc.de 172.31.17.160:8443;
         design.hamburg.ccc.de 172.31.17.162:8443;
         hydra.hamburg.ccc.de 172.31.17.163:8443;
+        cfp.eh22.easterhegg.eu pretalx-intern.hamburg.ccc.de:8443;
     }
 
     server {