基於 Cookie 的有狀態會話擴展 (proto)
extensions.http.stateful_session.cookie.v3.CookieBasedSessionState
[extensions.http.stateful_session.cookie.v3.CookieBasedSessionState proto]
此擴展允許透過 Cookie 追蹤會話狀態。
此擴展首先將負載平衡器選擇的上游主機位址編碼到一個 set-cookie
回應標頭中,並使用 cookie 組態。當新的請求進來時,此擴展將嘗試透過 Cookie 名稱解析特定的上游主機位址。如果從 Cookie 解析的位址對應到有效的上游主機,則將優先選擇此上游主機。請參閱有狀態會話過濾器。
例如,如果 Cookie 名稱設定為 sticky-host
,則當請求包含以下標頭時,envoy 將優先選擇 1.2.3.4:80
作為上游主機
cookie: sticky-host="MS4yLjMuNDo4MA=="
處理上游回應時,如果 1.2.3.4:80
確實是最終選擇,則擴展不會執行任何操作。如果 1.2.3.4:80
不是最終選擇,則將使用新選擇的主機更新 Cookie(透過 set-cookie
回應標頭)。
此擴展的完整名稱為 envoy.http.stateful_session.cookie
注意
此擴展功能正常,但尚未經過大量的生產環境測試,請謹慎使用。
此擴展的安全性狀態未知,應僅在下游和上游均受信任的部署中使用。
提示
此擴展會擴展以下擴展類別,並可與之一起使用
此擴展必須使用以下類型 URL 之一進行配置
{
"cookie": {...}
}
- cookie
(type.http.v3.Cookie,必要) 用於追蹤會話狀態的 Cookie 組態。