【发布时间】:2014-01-17 11:44:42
【问题描述】:
我正在为 Facebook 编写一个应用程序,该应用程序需要安全。初始页面 https://myapp.com 可以正常加载。
但是,当我单击指向 https://myapp.com/link 的链接时,Chrome 会抱怨该应用程序正试图从不安全的来源加载。我在控制台中收到以下消息:
“[阻止] 'https://www.facebook.com/page/app_###' 处的页面通过 HTTPS 加载,但运行来自 'http://myapp.com/link/' 的不安全内容:此内容也应通过 HTTPS 加载。”
现在该链接是一个带有 https 前缀的绝对 URL,但显然该页面正在尝试从 http 版本加载。
我访问了域本身并检查了 Chrome 控制台中的“网络”选项卡以查看发生了什么。会发生以下情况:
- https://myapp.com/link 的 GET 是 301,已永久移动。
- 然后重定向到http://myapp.com/link
据我所知,我的 python 代码中没有任何东西可以实现这一点,所以我怀疑 Heroku 的某些功能导致了这种情况,但我找不到其他人遇到这个问题。
作为旁注,我使用 Flask-SSLify 将重定向添加回 https 版本。此重定向有效,但 Chrome 仍会阻止该页面,因为它通过了不安全的版本。
【问题讨论】:
标签: ssl heroku https flask http-status-code-301