Flask:Heroku自定义域名导致会话失效?

1 投票
1 回答
830 浏览
提问于 2025-04-17 13:48

我有一个在Heroku上运行的Flask应用,Heroku的地址是“helloworld.herokuapp.com”,而我给这个应用设置了一个自定义域名,比如“www.helloworld.com”。

当我通过Heroku的原始网址访问这个应用时,用户会话(session)工作得很好。但是当我通过“www.helloworld.com”访问时,用户会话就不正常了。我猜这可能是因为Flask生成的会话cookie是针对错误的域名。

我尝试把app.SESSION_COOKIE_DOMAINapp.SERVER_NAME设置为“helloworld.com”,但是它仍然只为“helloworld.herokuapp.com”生成会话cookie。

有没有办法让我强制会话cookie使用我的自定义域名呢?

1 个回答

2

经过多次测试和尝试不同的 SESSION_COOKIE_DOMAINSERVER_NAME 设置,我发现问题出在 Heroku 上。Heroku 处理自定义域名的方式有些问题,导致域名的 cookie 出现了问题。

我通过把项目迁移到 EC2 上来验证这一点……现在一切都正常了。

撰写回答