首页 > 解决方案 > 多个实例的 Python Flask 会话

问题描述

如何使用 Kubernetes 使烧瓶会话跨多个容器实例工作?或者 Kubernetes 是否总是为给定的会话维护相同的容器?

标签: pythonauthenticationsessionflaskkubernetes

解决方案


默认 Flask 会话作为 cookie 存储在客户端(在浏览器中)并经过加密签名以防止篡改。对 Flask 应用程序的每个请求都伴随着这个 cookie。因此,如果所有正在运行的容器都有相同的应用程序(至少相同的用于签名的密钥),那么它们应该都可以访问相同的会话数据。

笔记:

  • 这是加密签名的,但它没有加密,所以不要在会话中存储敏感信息
  • 可以安装 Flask-Session 以获得服务器端会话支持

推荐阅读