登录按钮不安全

昨天,我一直在 Apache 反向代理后安装 Discourse。Apache 主要通过一个自助式图形界面进行管理,该界面还可用于激活 Let’s Encrypt 证书和配置代理。此外,该图形界面负责确保 Let’s Encrypt 证书不会过期。基于以上情况,我想确认我是否在没有使用 SSL/Let’s Encrypt 模板的情况下配置了 Discourse;内部我使用的是 10080 端口。目前运行正常。

然而,我发现在 Discourse 的配置中有一个选项可以全局启用 HTTPS。于是我便启用了它。这似乎运行良好,但我注意到登录按钮仍然使用 HTTP(而不是 HTTPS)。事实上,Discourse 已通过一个未锁定的图标表明了这一点。

所以我的问题是:我需要做什么才能让 Discourse 使用 HTTPS?

提前感谢。

如果您尚未操作,请尝试启用 Discourse 的 force https 站点设置。该设置位于站点设置页面的“安全”部分。

感谢您的回复。该选项已启用,因此问题可能出在其他地方。

1 个赞

能否请您分享您的反向代理配置?

(而且我认为答案将再次是 X-Forwarded-Proto。)

3 个赞

好的 :slight_smile:

RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port 80
ProxyPreserveHost Off
ProxyPassMatch "^/((?!(?:errors|\.well-known)/acme-challenge/).*)" "http://localhost:10080/$1" retry=30 timeout=7200
ProxyPassReverse "/" "http://localhost:10080/"

问题已解决,现在可以正常工作了。
看起来解锁图标并不代表已解锁。