]> Untitled Git - lemmy.git/blobdiff - docker/federation/nginx.conf
add enable_federated_downvotes site option
[lemmy.git] / docker / federation / nginx.conf
index f787a9d2f8225d866595ba4cf633e49f8e9c5bb7..425371beee4816805fa75e0846e5b1d473b09adb 100644 (file)
@@ -3,6 +3,12 @@ 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;
@@ -11,14 +17,22 @@ http {
         # Upload limit for pictshare
         client_max_body_size 50M;
 
-        location /api/v1 {
-            proxy_pass http://lemmy-alpha:8541/api/v1;
+        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-ui:1234;
+            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;
@@ -26,14 +40,14 @@ http {
             # Cuts off the trailing slash on URLs to make them valid
             rewrite ^(.+)/+$ $1 permanent;
         }
-        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;
-        }
     }
 
+    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;
@@ -42,14 +56,22 @@ http {
         # Upload limit for pictshare
         client_max_body_size 50M;
 
-        location /api/v1 {
-            proxy_pass http://lemmy-beta:8551/api/v1;
+        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 / {
-            proxy_pass http://lemmy-beta-ui:1234;
+            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;
@@ -57,14 +79,14 @@ http {
             # Cuts off the trailing slash on URLs to make them valid
             rewrite ^(.+)/+$ $1 permanent;
         }
-        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;
-        }
     }
 
+    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;
@@ -73,14 +95,22 @@ http {
         # Upload limit for pictshare
         client_max_body_size 50M;
 
-        location /api/v1 {
-            proxy_pass http://lemmy-gamma:8561/api/v1;
+        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 / {
-            proxy_pass http://lemmy-gamma-ui:1234;
+            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;
@@ -88,14 +118,14 @@ http {
             # Cuts off the trailing slash on URLs to make them valid
             rewrite ^(.+)/+$ $1 permanent;
         }
-        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;
-        }
     }
 
+    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;
@@ -104,14 +134,22 @@ http {
         # Upload limit for pictshare
         client_max_body_size 50M;
 
-        location /api/v1 {
-            proxy_pass http://lemmy-delta:8571/api/v1;
+        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 / {
-            proxy_pass http://lemmy-delta-ui:1234;
+            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;
+
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header Host $host;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -119,14 +157,14 @@ http {
             # Cuts off the trailing slash on URLs to make them valid
             rewrite ^(.+)/+$ $1 permanent;
         }
-        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;
-        }
     }
 
+    upstream lemmy-epsilon {
+        server "lemmy-epsilon:8581";
+    }
+    upstream lemmy-epsilon-ui {
+        server "lemmy-epsilon-ui:1234";
+    }
     server {
         listen 8580;
         server_name 127.0.0.1;
@@ -135,14 +173,22 @@ http {
         # Upload limit for pictshare
         client_max_body_size 50M;
 
-        location /api/v1 {
-            proxy_pass http://lemmy-epsilon:8581/api/v1;
+        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 / {
-            proxy_pass http://lemmy-epsilon-ui:1234;
+            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;
@@ -150,11 +196,5 @@ http {
             # Cuts off the trailing slash on URLs to make them valid
             rewrite ^(.+)/+$ $1 permanent;
         }
-        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;
-        }
     }
 }