跳转到内容
搜索文档

会话亲和性

最后更新 查看 MarkdownAgent 设置

启用会话亲和性后,负载均衡器会将特定最终用户的所有请求定向到特定 endpoint。这种连续性保留了用户会话信息(例如购物车中的商品),否则如果请求分散到多台服务器,这些信息可能会丢失。

会话亲和性还有助于减少网络请求,为按用量计费的用户节省成本。

工作原理

会话亲和性会自动将来自同一客户端的请求定向到同一 endpoint:

  1. 当客户端发出第一个请求时,Cloudflare 会在客户端上设置 __cflb cookie(以跟踪关联的 endpoint)。
  2. 同一客户端的后续请求在 cookie 有效期内且 endpoint 保持健康时,会转发到该 endpoint。
  3. 如果 cookie 过期或 endpoint 变为不健康,Cloudflare 会设置新的 cookie 以跟踪新的故障转移 endpoint。
    flowchart LR
      accTitle: Session affinity process
      accDescr: Session affinity directs requests from the same client to the same server.
     A[Client] --Request--> B{<code>__cflb</code> cookie set?}
     B -->|Yes| C[Route to previous endpoint]
     C --> O2
     B ---->|No| E[Follow normal routing]
     E --> O2
     E --Set <code>__cflb</code> cookie--> A
     subgraph P1 [Pool 1]
        O1[Endpoint 1]
        O2[Endpoint 2]
     end

除非您设置自定义会话生存时间(TTL),否则所有基于 cookie 的会话默认为 23 小时。

启用 Always Use HTTPS 时,会话 cookie 为安全 cookie。此外,cookie 始终启用 HttpOnly,以防止跨站脚本攻击。

这篇文档对您有帮助吗?