基于 Cookie 的有状态会话扩展(proto)
extensions.http.stateful_session.cookie.v3.CookieBasedSessionState
[extensions.http.stateful_session.cookie.v3.CookieBasedSessionState proto]
此扩展允许通过 Cookie 跟踪会话状态。
此扩展首先将负载均衡器选择的上游主机地址编码到带有 cookie 配置 的 set-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 配置。