恢复备份后浏览器无法显示网站标志

我已将论坛从 punBB 迁移到 Discourse,并完成了品牌化等全部设置。运行 Discourse Docker 容器的虚拟机位于 Nginx 反向代理之后。两天后,Discourse 无法访问,于是我重建了应用,并从初始设置后制作的备份中恢复了数据。

重建和恢复操作我至少执行了三次,因为恢复后,任何浏览器都无法加载任何站点徽标。为确保没有旧图片的问题,我运行了 Upload.where("id > 0").destroy_all 以清理图片目录。

但即便如此,任何浏览器(包括默认徽标)都无法加载任何图片。在浏览器的开发者工具中可以看到,徽标图片的请求已发出,但浏览器似乎未能成功加载。然而,直接点击这些图片链接时,浏览器却能正常显示图片。

您可以在以下链接看到该问题:https://forum.epplehaus.de/login

我使用的是最新版本的 Discourse 2.6.0.beta1,备份也是在完全相同的版本上制作的。

1 个赞

您的图片正通过 HTTP 加载,而网站其余部分使用的是 HTTPS。默认情况下,浏览器不会将不安全的对象加载到 HTTPS 页面中。

如果您的反向代理负责 SSL 封装,您仍需在 Discourse 中启用 force_https,以确保附件和上传 URL 通过 HTTPS 而非 HTTP 提供。

3 个赞

这确实解决了我的问题。谢谢!

2 个赞