两个通过 http 提供的剩余图片阻止我迁移到 https。求助?

我从前任团队成员那里接手了一个 Discourse 论坛。我已经根据市场部门的要求进行了多项更改,但仍有两张图片我到处都找不到。我花了几个小时仔细检查自定义部分,却一无所获。

<link rel="icon" type="image/png" href="…32x32.png">
<link rel="apple-touch-icon" type="image/png" href="…180x180.png">

这两个链接标签都紧跟在以下代码行之后输出:

<meta name="generator" content="Discourse 2.4.1 - https://github.com/discourse/discourse version ea7388014671cb3c103bcc9082df586de1b0edad">

我该如何将这两张图片的链接更新为 HTTPS?

您能确认一下是如何启用 HTTPS 的吗?

如果在启用 HTTPS 后重新上传资源,它们将被修正。

所有品牌资源均位于 设置 → 品牌
/admin/site_settings/category/branding

网站图标(32x32)和 Apple 触摸图标(180x180)位于列表的第 7 和第 8 项。或许可以删除现有的图标并重新上传新的,以设置正确的 URL。

4 个赞

也可以通过在 /wizard 重新运行设置向导来修复——@omarfilip 说得对,基本上只需重新上传那些图片即可。

5 个赞

启用强制 HTTPS 后,这些 URL 能否自动切换为 https?
我在多个客户的安装环境中遇到过这个问题。虽然不算特别恼人,但如果能通过某处的一行代码避免,那还是很不错的。

1 个赞

这是我们将 discourse-setup 默认设置为 HTTPS 的原因之一。将其设为可选意味着大多数人会跳过它,之后又不得不回头重新配置。

6 个赞

大家好,感谢大家的回复。

我启用了 force_https,重新上传了图片,现在它们已通过 HTTPS 加载,谢谢!

来自论坛首位管理员用户的反馈:

要求用户运行设置向导来修复图片引用,这感觉用户体验不佳。我整个过程中都很紧张,担心会不小心更改现有设置。更好的做法是提供细粒度的控制(你们确实有)。我最终使用了这些控制。

另外,我很好奇为什么一开始需要重新上传图片。为什么不直接存储文件引用,并根据 force_https 的设置输出相应的协议呢?也许你们确实是这样做的,因为我在测试前既更改了 force_https 设置,又重新上传了图片。

无论如何,你们迅速回应了这个问题,我非常感激。祝大家平安。

6 个赞

@amatthews,这里实际上应该按你的想法运行:

一旦启用 force_https,所有 Discourse 资源都会通过 HTTPS 加载。

也不需要运行向导来更改或重新上传图片。这些可以通过管理员后台完成。

4 个赞

过去确实并非如此,在 @falco 提到的上述更改之前,我们相当频繁地收到这个问题。快速搜索后发现,随着该 PR 的引入,我们被问及此问题的频率急剧下降。

绝大多数安装可以直接使用 Let’s Encrypt,只有当人们对反向代理或网络规则进行一些不寻常的操作时,才会出现问题。

5 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.