Python 烧瓶会话不持久

Python 烧瓶会话不持久,python,session,flask,Python,Session,Flask,我在CentOS 6.3上运行Python 2.7、Apache+mod_wsgi 当我在本地主机上时,一切正常。但是,当我在Azure中的vm上运行代码时,我看不到跨页面持久化的会话信息 基本上,在我看来,我有这样的想法: @frontend.route('/') def index(): session['foo'] = 'bar' print session['foo'] return redirect(url_for("frontend.page2")) @fron

我在CentOS 6.3上运行Python 2.7、Apache+mod_wsgi

当我在本地主机上时,一切正常。但是,当我在Azure中的vm上运行代码时,我看不到跨页面持久化的会话信息

基本上,在我看来,我有这样的想法:

@frontend.route('/')
def index():
   session['foo'] = 'bar'
   print session['foo']

   return redirect(url_for("frontend.page2"))

@frontend.route('page2')
def page2():
   print session
打印输出为:

bar
<SecureCookieSession {}>
我尝试过两种设置服务器名称,但都没有帮助:

app.config['SERVER_NAME'] = 'example.com' 
关于如何调试这个问题有什么想法吗


谢谢

不要使用app.secret\u key=os.uradom(24)

您应该在这里输入一个静态值,而不是每次都从
os.uradom
读取。您可能误解了中的示例,它向您展示了如何从
os.urandom
读取随机数据,但它也明确指出:

只要把它复制/粘贴到你的代码中,你就完成了


如果您在运行时读取它,那么您的每个工作进程都将具有不同的密钥!这意味着,如果请求由其他工作进程处理,会话将中断,因为cookie使用了错误的密钥签名。

您有密钥吗?会话需要它:
app.secret\u key='something long and random'
是的,我有密钥。Thx.你的会话存储在哪里?@cababunga:我使用的是Flask的默认存储。问题已经解决了,这是马塔指出的问题。多谢。希望这对调试来说更加明显。
app.secret_key = os.urandom(24)
app.config['SERVER_NAME'] = 'example.com'