Cluster
負載均衡和 HTTPS 策略
我面臨以下問題:由於目前的負載平衡策略基於客戶端 IP,伺服器變得飽和。一些企業客戶從大型代理後面訪問我們的伺服器,因此所有客戶都以相同的 IP 出現在我們的負載均衡器中。我認為我們正在使用一些硬體負載平衡設備(如有必要可以進一步調查)。我們需要維護會話親和性(站點是在 ASP 中建構的),因此所有具有相同 IP 的請求都會被路由到同一個節點。
由於所有通信都通過 HTTPS 進行,因此平衡器無法將請求數據(如會話 ID)用作客戶端鑑別器。有沒有辦法使用除 IP 之外的其他數據來區分客戶端並路由客戶端,即使來自同一 IP 到不同節點也是如此?
注意:我需要保持平衡器和節點之間的流量安全(加密)。
如果您目前有負載均衡器,最簡單的方法是解密負載均衡器上的數據並查看 cookie。此時,您可以將請求發送到未加密的後端伺服器,也可以重新加密並繼續發送。
我所知道的大多數設置都認為負載均衡器和後端伺服器之間的網路連接是安全的,並且不會因為多種原因而重新加密流量。一個原因是基於硬體的負載平衡器也充當SSL 加速器,這是 HTTPS 流量在其門口結束的另一個原因。另一個是它允許對流量進行攻擊檢查。