]> Untitled Git - lemmy.git/blobdiff - docker/federation/nginx.conf
add enable_federated_downvotes site option
[lemmy.git] / docker / federation / nginx.conf
index 6dbe13b40892e4edec62fb2fcd861f7eee5f1ce4..425371beee4816805fa75e0846e5b1d473b09adb 100644 (file)
@@ -3,71 +3,198 @@ events {
 }
 
 http {
+    upstream lemmy-alpha {
+        server "lemmy-alpha:8541";
+    }
+    upstream lemmy-alpha-ui {
+        server "lemmy-alpha-ui:1234";
+    }
     server {
         listen 8540;
         server_name 127.0.0.1;
+        access_log  off;
 
         # Upload limit for pictshare
         client_max_body_size 50M;
 
+        location ~ ^/(api|pictrs|feeds|nodeinfo|.well-known) {
+            proxy_pass http://lemmy-alpha;
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            proxy_set_header Connection "upgrade";
+        }
         location / {
-            proxy_pass http://lemmy_alpha:8540;
+            set $proxpass http://lemmy-alpha-ui;
+            if ($http_accept = "application/activity+json") {
+              set $proxpass http://lemmy-alpha;
+            }
+            if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
+              set $proxpass http://lemmy-alpha;
+            }
+            proxy_pass $proxpass;
+
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header Host $host;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
-            # WebSocket support
+            # Cuts off the trailing slash on URLs to make them valid
+            rewrite ^(.+)/+$ $1 permanent;
+        }
+    }
+
+    upstream lemmy-beta {
+        server "lemmy-beta:8551";
+    }
+    upstream lemmy-beta-ui {
+        server "lemmy-beta-ui:1234";
+    }
+    server {
+        listen 8550;
+        server_name 127.0.0.1;
+        access_log off;
+
+        # Upload limit for pictshare
+        client_max_body_size 50M;
+
+        location ~ ^/(api|pictrs|feeds|nodeinfo|.well-known) {
+            proxy_pass http://lemmy-beta;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection "upgrade";
         }
+        location / {
+            set $proxpass http://lemmy-beta-ui;
+            if ($http_accept = "application/activity+json") {
+              set $proxpass http://lemmy-beta;
+            }
+            if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
+              set $proxpass http://lemmy-beta;
+            }
+            proxy_pass $proxpass;
+
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header Host $host;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
+            # Cuts off the trailing slash on URLs to make them valid
+            rewrite ^(.+)/+$ $1 permanent;
+        }
+    }
+
+    upstream lemmy-gamma {
+        server "lemmy-gamma:8561";
+    }
+    upstream lemmy-gamma-ui {
+        server "lemmy-gamma-ui:1234";
+    }
+    server {
+        listen 8560;
+        server_name 127.0.0.1;
+        access_log off;
+
+        # Upload limit for pictshare
+        client_max_body_size 50M;
+
+        location ~ ^/(api|pictrs|feeds|nodeinfo|.well-known) {
+            proxy_pass http://lemmy-gamma;
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            proxy_set_header Connection "upgrade";
+        }
+        location / {
+            set $proxpass http://lemmy-gamma-ui;
+            if ($http_accept = "application/activity+json") {
+              set $proxpass http://lemmy-gamma;
+            }
+            if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
+              set $proxpass http://lemmy-gamma;
+            }
+            proxy_pass $proxpass;
+
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header Host $host;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
+            # Cuts off the trailing slash on URLs to make them valid
+            rewrite ^(.+)/+$ $1 permanent;
+        }
+    }
+
+    upstream lemmy-delta {
+        server "lemmy-delta:8571";
+    }
+    upstream lemmy-delta-ui {
+        server "lemmy-delta-ui:1234";
+    }
+    server {
+        listen 8570;
+        server_name 127.0.0.1;
+        access_log off;
 
-        location /pictshare/ {
-          proxy_pass http://pictshare_alpha:80/;
-          proxy_set_header X-Real-IP $remote_addr;
-          proxy_set_header Host $host;
-          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        # Upload limit for pictshare
+        client_max_body_size 50M;
+
+        location ~ ^/(api|pictrs|feeds|nodeinfo|.well-known) {
+            proxy_pass http://lemmy-delta;
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            proxy_set_header Connection "upgrade";
         }
+        location / {
+            set $proxpass http://lemmy-delta-ui;
+            if ($http_accept = "application/activity+json") {
+              set $proxpass http://lemmy-delta;
+            }
+            if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
+              set $proxpass http://lemmy-delta;
+            }
+            proxy_pass $proxpass;
 
-        location /iframely/ {
-          proxy_pass http://iframely:80/;
-          proxy_set_header X-Real-IP $remote_addr;
-          proxy_set_header Host $host;
-          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header Host $host;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
+            # Cuts off the trailing slash on URLs to make them valid
+            rewrite ^(.+)/+$ $1 permanent;
         }
     }
 
+    upstream lemmy-epsilon {
+        server "lemmy-epsilon:8581";
+    }
+    upstream lemmy-epsilon-ui {
+        server "lemmy-epsilon-ui:1234";
+    }
     server {
-         listen 8550;
-         server_name 127.0.0.1;
-
-         # Upload limit for pictshare
-         client_max_body_size 50M;
-
-         location / {
-             proxy_pass http://lemmy_beta:8550;
-             proxy_set_header X-Real-IP $remote_addr;
-             proxy_set_header Host $host;
-             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-
-             # WebSocket support
-             proxy_http_version 1.1;
-             proxy_set_header Upgrade $http_upgrade;
-             proxy_set_header Connection "upgrade";
-         }
-
-         location /pictshare/ {
-           proxy_pass http://pictshare_beta:80/;
-           proxy_set_header X-Real-IP $remote_addr;
-           proxy_set_header Host $host;
-           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-         }
-
-         location /iframely/ {
-           proxy_pass http://iframely:80/;
-           proxy_set_header X-Real-IP $remote_addr;
-           proxy_set_header Host $host;
-           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-         }
-     }
+        listen 8580;
+        server_name 127.0.0.1;
+        access_log off;
+
+        # Upload limit for pictshare
+        client_max_body_size 50M;
+
+        location ~ ^/(api|pictrs|feeds|nodeinfo|.well-known) {
+            proxy_pass http://lemmy-epsilon;
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            proxy_set_header Connection "upgrade";
+        }
+        location / {
+            set $proxpass http://lemmy-epsilon-ui;
+            if ($http_accept = "application/activity+json") {
+              set $proxpass http://lemmy-epsilon;
+            }
+            if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
+              set $proxpass http://lemmy-epsilon;
+            }
+            proxy_pass $proxpass;
+
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header Host $host;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
+            # Cuts off the trailing slash on URLs to make them valid
+            rewrite ^(.+)/+$ $1 permanent;
+        }
+    }
 }