python - 如何在Python Flask项目中启用Cloud Foundry的粘性 session ?

标签 python session cloud-foundry

我正在开发一个使用 python 在 Cloud Foundry 中运行的应用程序。当我尝试扩展实例时,我发现客户端请求每次都会以循环方式路由到不同的实例。但是,我的应用程序将数据保存在 session 中,这需要请求之间的一致性。

我找到了CloudFoundry的文档,其中引入了jsessionid以使其保持一致。 https://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html#sessions

这是我为测试粘性 session 而编写的代码片段。但是即使我在cookie中放入jsessionid也不起作用。有人可以帮忙吗?谢谢

@app.route('/') 
def sticky_session():
    ret = "VCAP_APPLICATION env var: <br/>" + os.getenv("VCAP_APPLICATION", "") + "<br/>"
    ret += "<br/>"
    ret += "Port: " + os.getenv('PORT', '5000') + "<br/>"
    resp = make_response(ret)
    resp.set_cookie('jsessionid', 'your secret here.')
    session['test'] = 'test'
    return resp

最佳答案

终于可以用了。唯一的区别是 cookie 区分大小写,并且应该为大写。

resp.set_cookie('JSESSIONID', 'your secret here.')

关于python - 如何在Python Flask项目中启用Cloud Foundry的粘性 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36148972/

相关文章:

zend-framework - 关于在包含 Zend_Session 类的 WAMP 上运行项目的错误

node.js - 是否可以在 Express 中使特定用户的 session 数据无效或删除?

node.js - Cloud Foundry 和 Socket.IO 跨域策略问题

python - numpy 插入轴使数据不连续

python - 如何在 python 中优雅地记录多个非常相似的事件?

python - .anaconda 文件夹占用太多空间

node.js - Cloudfoundry 上的 Restify 'invalid ELF header'

python - 如何在 python 中将分类列转换为整数列? (与南)

java - session 被破坏后如何​​更新数据库?

docker - Cloud Foundry 和 Docker 有什么区别?