
我們目前有以下設定:
[Client] -> [haproxy] -> [Nginx] -> [App Servers]
Nginx 目前透過設定 cookie 來設定與應用程式伺服器的 cookie 親和性:public-client
。然而,隨著 HAProxy 的引入,客戶端上不再存在 cookie,並且與應用程式伺服器的會話關聯性被破壞。
我在仔細閱讀文件時發現了一個名為安息會議這可能有效,但看起來它已被棄用。建議使用黏桌但我不太確定如何保存具有該屬性的 cookie。
有誰知道如何實現這一點?
筆記:我完全意識到反向代理的重複,但我們的架構需要它。
發現問題
因此,根據下面的評論,我tcdump
在 HAProxy 和 Nginx 伺服器上運行以驗證 cookie 未設定/傳遞的位置。
我運行的命令供參考:
sudo /usr/sbin/tcpdump -A -l dst port 80 -i any | grep "^Cookie: "
這向我展示了 HAProxy 和 Nginx 伺服器上的應用程式 cookie。然而,Nginx 應該設定的 cookie 並不在 HAProxy 的流量中,這將問題隔離為 Nginx 未設定 cookie。