强制 HTTPS 和混合 HTTPS 内容的问题

我和这里报告问题的人以及这个 讨论帖 中的人遇到了完全相同的问题。

问题与 SSO 实现或 Web 服务器无关:在我的情况下,HTTP 请求会被重定向到 HTTPS,然后通过反向代理发送。如果我将用户重定向到 https://discourse.fqdn.top/session/sso_login?sso=PAYLOAD&sig=SIGNATURE 并将 force_https 设置为 false,SSO 可以完美运行。这表明 SSO 部分和代理都能正常工作。只有当我将 force_https 切换为 true 时,它才会停止工作。如果我已经存在会话,我可以将 force_https 改为 true 并正常使用 Discourse,这进一步证实了问题与反向代理无关。将 force_https 保持为 false 不是一个可行的选择,因为这会破坏徽标,而且 Chrome 也不会高兴——当页面混合了来自 HTTP 和 HTTPS 的资源时,它会在地址栏显示一个小警告,提示页面不安全。