|
@@ -1,5 +1,6 @@
|
|
|
{{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "1" | toBool }}
|
|
|
{{ $ENABLE_XMPP_WEBSOCKET := .Env.ENABLE_XMPP_WEBSOCKET | default "1" | toBool }}
|
|
|
+{{ $ENABLE_SUBDOMAINS := .Env.ENABLE_SUBDOMAINS | default "true" | toBool -}}
|
|
|
|
|
|
server_name _;
|
|
|
|
|
@@ -104,3 +105,40 @@ location /etherpad/ {
|
|
|
proxy_buffering off;
|
|
|
}
|
|
|
{{ end }}
|
|
|
+
|
|
|
+{{ if $ENABLE_SUBDOMAINS }}
|
|
|
+ location ~ ^/([^/?&:'"]+)/config.js$
|
|
|
+ {
|
|
|
+ set $subdomain "$1.";
|
|
|
+ set $subdir "$1/";
|
|
|
+
|
|
|
+ alias /config/config.js;
|
|
|
+ }
|
|
|
+
|
|
|
+ # BOSH for subdomains
|
|
|
+ location ~ ^/([^/?&:'"]+)/http-bind {
|
|
|
+ set $subdomain "$1.";
|
|
|
+ set $subdir "$1/";
|
|
|
+ set $prefix "$1";
|
|
|
+
|
|
|
+ rewrite ^/(.*)$ /http-bind;
|
|
|
+ }
|
|
|
+
|
|
|
+ {{ if $ENABLE_XMPP_WEBSOCKET }}
|
|
|
+ # websockets for subdomains
|
|
|
+ location ~ ^/([^/?&:'"]+)/xmpp-websocket {
|
|
|
+ set $subdomain "$1.";
|
|
|
+ set $subdir "$1/";
|
|
|
+ set $prefix "$1";
|
|
|
+
|
|
|
+ rewrite ^/(.*)$ /xmpp-websocket;
|
|
|
+ }
|
|
|
+ {{ end }}
|
|
|
+
|
|
|
+ # Anything that didn't match above, and isn't a real file, assume it's a room name and redirect to /
|
|
|
+ location ~ ^/([^/?&:'"]+)/(.*)$ {
|
|
|
+ set $subdomain "$1.";
|
|
|
+ set $subdir "$1/";
|
|
|
+ rewrite ^/([^/?&:'"]+)/(.*)$ /$2;
|
|
|
+ }
|
|
|
+{{ end }}
|