ServiceWorker 脚本评估失败,原因是 HTTP(而非 HTTPS)

我在一些 JS 代码上遇到了一些问题。在开发工具中(安装了一些官方插件后)我看到:

我不确定该从哪里开始调试。
在 Google 上搜索消息“Failed to register Service Worker: TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed”表明 JS 存在问题,但我不清楚问题出自哪里。
有人遇到过这个问题吗?

您是否在站点设置中启用了 force_https

我不太确定它在哪里?(曾尝试通过搜索栏在设置中查找)。应该启用它吗?它有什么作用?

没有这个选项:

我的 Discourse 论坛是希伯来语。我尝试过通过自定义文本进行搜索。

您的安装存在问题,看起来安装过程似乎出现了故障。

已启用并隐藏“强制 HTTPS

嗯,也许吧。@neil 你怎么看?

嗯,我之前不知道这一点。

所以 @verilog15,你配置了反向代理吗?

你能进入 Rails 控制台并检查 force_https 的值吗?

我参考了以下指南来启用 HTTPS:https://meta.discourse.org/t/setting-up-https-support-with-lets-encrypt/40709。
可能是该指南已过时,或者我应该使用其他指南?我在其中设置了环境变量 “LETSENCRYPT_ACCOUNT_EMAIL”。
我是 Rails 新手,能否说明一下应按什么顺序运行命令,以检查 force_https 的值?

这与该问题相同(尽管在不同情况下出现)。
在资源中包含主机名或完整 URL 必然会导致问题。

在此特定情况下,这些资源可能是在启用 force_https 之前构建的。
重新构建即可解决。

我尝试了几次重新构建,但开发者工具中仍然显示该消息。也许是 app.yml 文件有问题?




不过我看不出问题所在 :confused:

ssh root@your.server.ip
cd /var/discourse
./launcher enter app
rails c
puts SiteSetting.force_https

我使用的是 DigitalOcean,已经销毁了 droplet 并创建了一个新的。我按照步骤操作(没有使用之前提到的指南,而是使用了脚本)。但我仍然遇到了同样的错误。
运行命令后,我得到以下结果:
image

我已对此文件推送了更改,请尝试更新。

嘿,@falco,这个变更会影响 Configuring Activity Summary emails - #32 吗?

编辑:我本来担心会这样,但看起来两者都与 force_https 有关。

不,我的更改仅影响我们服务 worker 文件中 WorkboxJS 库的 URL。

由于 @verilog15 报告 force_https 已经为 true,我推测他的问题正如 @RGJ 所建议的那样。