From 8024842def28dd151759ee46cd160c7794463aef Mon Sep 17 00:00:00 2001
From: Sacha Chua <sacha@sachachua.com>
Date: Sat, 15 Oct 2022 22:16:28 -0400
Subject: Improve pad proxy with templated config, support SSL on
 pad.emacsconf.org

---
 pad-proxy/templates/etherpad.nginx.conf | 34 ++++++++++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

(limited to 'pad-proxy/templates')

diff --git a/pad-proxy/templates/etherpad.nginx.conf b/pad-proxy/templates/etherpad.nginx.conf
index 92ba974..90a7c1c 100644
--- a/pad-proxy/templates/etherpad.nginx.conf
+++ b/pad-proxy/templates/etherpad.nginx.conf
@@ -5,6 +5,19 @@ upstream etherpad_upstream {
 server {
   listen 80;
   server_name {{ etherpad_server_name }};
+  {% if etherpad_tls %}
+  include snippets/well-known-acme-challenge.conf;
+  location / {
+    return 302 https://$server_name$request_uri;
+    }
+    }
+  server {
+    listen 443 ssl http2;
+    listen [::]:443 ssl http2;
+    server_name {{ etherpad_server_name }};
+    include {{ etherpad_tls }};
+
+  {% endif %}
   access_log  /var/log/nginx/{{ etherpad_server_name }}.access.log;
   location ~ ^/(locales/|locales.json|admin/|static/|pluginfw/|javascripts/|socket.io/|ep/|minified/|api/|ro/|error/|jserror/|favicon.ico|robots.txt) {
     proxy_buffering off;
@@ -12,7 +25,24 @@ server {
     }
   location /p/ {
     rewrite ^/p/(.*) /$1 redirect;
+    }
+  location /direct/ {
+    rewrite /direct/(.*) /$1 break;
+    proxy_set_header        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-Proto $scheme;
+    proxy_pass http://etherpad_upstream/p/;
   }
+
+  {% if use_wikimedia %} 
+  location ~ ^/$ {
+    return 302 https://etherpad.wikimedia.org/p/emacsconf-2022;
+  }
+  location / {
+    rewrite /(.*) https://etherpad.wikimedia.org/p/emacsconf-$1 redirect;
+  }
+  {% else %}
   location ~ ^/$ {
     proxy_buffering off;
     proxy_pass http://etherpad_upstream;
@@ -29,5 +59,7 @@ server {
     proxy_pass http://etherpad_upstream/p/;
     proxy_redirect / /p/;
     proxy_read_timeout  90;
-  }
+    }
+  {% endif %}
 }
+
-- 
cgit v1.2.3