Load-Balancing
503 負載均衡器處於活動狀態時服務不可用
我們有兩台來自 Hetzner 的雲伺服器。網路伺服器是 Nginx。兩台伺服器是相同的(硬體、軟體和我們的 Web 應用程序)。
LetsEncrypt 證書安裝在兩台伺服器上。Nginx 配置為重定向
http
到https
.DNS 伺服器是 Cloudflare。我們手動將域 A 記錄的 IP 地址從伺服器 A 切換到伺服器 B,反之亦然。
現在我們已經在 Hetzer 中創建了一個負載均衡器,其中包含我們的兩台伺服器和一項服務:
https 443 -> 443
.一旦我們將我們域的 A 記錄的 IP 地址更改為 LB 的 IP 地址,我們就會收到
503 service unavailable
.請協助。
如果你想使用負載均衡器來終止 SSL,你的 nginx 不應該監聽 tcp 埠 443 也沒有證書。nginx 應該只監聽 80 埠,負載均衡器應該:
- 有證書(hetzner LB 顯然可以管理 LetEncrypt 證書)
- 監聽埠 443(源),並重定向到 nginx 埠 80(目標),中間使用 SSL 代理。
要管理 http 到 https 的重定向,如果負載均衡器能夠做到,那是最好的選擇。如果沒有,那麼在 nginx 端,您將必須檢測客戶端是否使用 https 或 http 連接(有時負載平衡器可以使用此資訊設置標頭),如果是明文 http,則重定向。