Cookie based stateful session extension (proto)¶
extensions.http.stateful_session.cookie.v3.CookieBasedSessionState¶
[extensions.http.stateful_session.cookie.v3.CookieBasedSessionState proto]
This extension allows the session state to be tracked via cookies.
This extension first encodes the address of the upstream host selected by the load balancer
into a set-cookie
response header with the cookie configuration.
when new requests are incoming, this extension will try to parse the specific upstream host
address by the cookie name. If the address parsed from the cookie corresponds to a valid
upstream host, this upstream host will be selected first. See stateful session filter.
For example, if the cookie name is set to sticky-host
, envoy will prefer 1.2.3.4:80
as the upstream host when the request contains the following header:
cookie: sticky-host="MS4yLjMuNDo4MA=="
When processing the upstream response, if 1.2.3.4:80
is indeed the final choice the extension
does nothing. If 1.2.3.4:80
is not the final choice, the new selected host will be used to
update the cookie (via the set-cookie
response header).
Note
This extension is functional but has not had substantial production burn time, use only with this caveat.
This extension has an unknown security posture and should only be used in deployments where both the downstream and upstream are trusted.
Tip
This extension extends and can be used with the following extension category:
This extension must be configured with one of the following type URLs:
{
"cookie": {...}
}
- cookie
(type.http.v3.Cookie, REQUIRED) The cookie configuration used to track session state.