Discourse 未感知 SSL 终止(混合内容)

网站地址为 https://forum.practical-pl.org

如果您现在访问该地址,浏览器会显示“混合内容”警告。这是因为 Docker 正在监听一个 Unix 域套接字,而 NGINX 前端负责将流量重定向到该套接字。此重定向过程也包含了 SSL 终止(即:证书安装在反向代理上,而不是 Discourse 客户端本身)。

因此,Discourse 生成的任何绝对 URL 都是 HTTP 链接,而不是 HTTPS 链接。最明显的是,这包括网站的图标以及发送给新用户的激活链接。

我该如何告知 Discourse 生成 HTTPS 链接?

谢谢,
Shachar

force_https 设置将解决此问题,在任何使用 HTTPS 的场景中,该设置都是强制要求的。

不过,据我所知,它已开启,但问题依然存在。

设置后,我需要重新生成 Docker 吗?

你能详细说明一下吗?

我在完成安装后找到了它(实际上,安装过程指引我将其开启)。我已经将其开启。

我发送的测试邮件确实现在包含一个 HTTPS 地址,但仅仅访问网站时,网站图标仍显示为 HTTP,因此混合内容警告依然存在。

这可能是因为我尚未更新图标,但目前我还没有可以替换的图标。即便如此,我也不明白为什么会这样。

此外,我还尝试了关闭再重新开启(哈哈!),但这也没有解决问题。

请尝试重新上传当前显示为不安全的图标或徽标。

是的,我刚刚上传了它当前使用的相同图标(默认的 Discourse 图标),问题现已解决。

谢谢,不过如果可以提个建议的话,安装说明页面确实应该更新了。它应该提及 force_https,以及可能需要重新上传图片。

我也遇到了同样的问题:Discourse 前面部署了 HAProxy 进行 SSL 终止。
我启用了“强制 HTTPS