问题描述
两种设置。两种不同的结果。
设置1:Flask应用程序在开发模式下运行,redis在本地容器中运行。
会话数据在请求中持续存在。
设置2:Flask应用在容器中的AWS EC2实例上运行,redis在docker-compose环境中的容器中运行,而docker撰写环境中的nginx容器。
某些会话数据在请求之间无法持久保存。
令人兴奋的是,如果我将会话存储在cookie上,则系统将按预期运行,并且所有状态都存储在Setup 2中。
不确定以下任何一项内容:
- 为什么某些会话项目持续存在,而另一些则没有。
- 为什么这可以在本地重复进行,而不是在EC2实例上进行。
- 出了什么问题,以及(希望)如何修复或调试它。
更新:
服务器端会话的会话配置:
PERMANENT_SESSION_LIFETIME = 600
SESSION_TYPE = 'redis'
SESSION_REDIS = redis.from_url('redis://redis')
,它是应用程序配置的一部分。 除此之外,我使用以下命令设置了flask-session
from flask_session import Session
app = Flask(__name__)
Session(app)
(对用于创建应用程序的样板代码进行模化。)删除对Session(app)
的调用,然后配置可修复会话,但不会丢失数据。我需要使用redis,因为会话cookie不足以存储某些会话。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)