@@ -105,9 +105,9 @@ Place a load balancer in front of the Semaphore nodes to distribute traffic. The
105105
106106``` nginx
107107upstream semaphore {
108- server node1.example.com:3000;
109- server node2.example.com:3000;
110- server node3.example.com:3000;
108+ server node1.example.com:3000 max_fails=3 fail_timeout=10s ;
109+ server node2.example.com:3000 max_fails=3 fail_timeout=10s ;
110+ server node3.example.com:3000 max_fails=3 fail_timeout=10s ;
111111}
112112
113113server {
@@ -118,20 +118,38 @@ server {
118118 ssl_certificate_key /etc/ssl/private/semaphore.key;
119119
120120 location / {
121+ proxy_http_version 1.1;
122+ proxy_set_header Upgrade $http_upgrade;
123+ proxy_set_header Connection "upgrade";
124+
121125 proxy_pass http://semaphore;
122- proxy_set_header Host $host;
123- proxy_set_header X-Real-IP $remote_addr;
124- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
125- proxy_set_header X-Forwarded-Proto $scheme;
126+
127+ proxy_connect_timeout 3s;
128+ proxy_send_timeout 60s;
129+ proxy_read_timeout 60s;
130+
131+ proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
132+ proxy_next_upstream_tries 3;
126133 }
127134
135+
128136 location /api/ws {
129- proxy_pass http://semaphore;
137+
130138 proxy_http_version 1.1;
131139 proxy_set_header Upgrade $http_upgrade;
132140 proxy_set_header Connection "upgrade";
133- proxy_set_header Host $host;
134141 proxy_set_header X-Real-IP $remote_addr;
142+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
143+ proxy_set_header X-Forwarded-Proto $scheme;
144+
145+ proxy_pass http://semaphore;
146+
147+ proxy_connect_timeout 3s;
148+ proxy_send_timeout 1h;
149+ proxy_read_timeout 1h;
150+
151+ proxy_next_upstream error timeout http_502 http_503 http_504;
152+ proxy_next_upstream_tries 3;
135153 }
136154}
137155```
0 commit comments