Uncaught SyntaxError: 论坛不停旋转且从未加载

希望这里有人能给我指明方向。正如标题所示,我们论坛 forum.wackywriters.com 正在加载但从未完成。控制台显示了一系列错误:

主要是未捕获的语法错误,虽然稍后有一个“jQuery 未定义”(总共 46 个错误)。这种情况是今天开始的,没有任何警告或我方面的更新,所以不确定是什么触发了它。

我尝试过的故障排除:

  • 重建,重建,重建。
  • 运行清理,再次重建
  • 安全模式禁用所有主题和插件(官方或非官方)。我可以访问安全模式页面,但在进入时出现相同的错误。
  • 我在 Cloudflare 后面(是的,我知道)并确认 brotli 压缩已启动并正常工作。在那里清除了缓存并绕过了他们的常规缓存(开发模式)以确保他们那边一切正常。Cloudflare 模板在 app.yml 中处于活动状态。设置为仅 DNS 或完全禁用 Cloudflare 会引发不安全错误(SSL 证书是通过它们提供的)。
  • 确认 DigitalOcean 没有出现任何问题。
  • 为了保险起见再次重建。

有趣的是,日志中没有(今天的)错误。我可以访问该网站,但从访问到访问完整的 Discourse 论坛之间发生了什么事情,导致网站陷入了崩溃模式。

过去一周唯一的变化是我在 app.yml 中更新了我的 Font Awesome Pro 许可证密钥,但这已经是几天前的事了。论坛直到今天才开始出现这种情况。有人能想到我还能尝试什么来排除故障(除了完全禁用 CF 或从备份恢复)?我今天已经为此工作了好几个小时,但毫无进展。如果有人认为这些会有帮助,我可以提供更多截图或我已编辑的 app.yml 文件。

1 个赞

更新:我豁出去了,把 Cloudflare 删了以排除它,然后还恢复了备份。但问题依旧存在。

我没有看到您截图中的错误,但我看到了一个关于 discourse-layouts 插件的错误。尝试在不使用该插件的情况下重建?

1 个赞

当我尝试在安全模式 (Wacky Writers' Forum - Read. Write. Respect.) 下加载站点时,我在控制台中看到的错误很有趣。例如:

Invalid or unexpected token at https://storage.wackywriters.com/assets/browser-detect-99f42f91bffa8ca1606d62b70bb92f981d83921e78ccdbd3d9538f07007f27ac.br.js

https://storage.wackywriters.com/assets/browser-detect-99f42f91bffa8ca1606d62b70bb92f981d83921e78ccdbd3d9538f07007f27ac.br.js 处的文件在我看来不像 JavaScript。

我假设它是这个文件的损坏版本:https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/scripts/browser-detect.js,但这只是一个猜测。

也许可以尝试从你的 app.yml 文件中删除插件并重新构建?

1 个赞

是的,可能是那里有什么东西。也许是插件或其他导致问题的东西,即使在安全模式下也是如此。

:point_down:t2:

1 个赞

此时此刻,我正在拆除所有东西,追根究底,看看干净的安装是否会引发同样的错误。

我注释掉了所有插件,并进行了重建,但问题依旧。

我最有可能的猜测是某些东西没有正确解析。我实际上清除了所有资源并进行了重建以重新生成它们,但问题依旧。

是的,我也这么想,并注释掉了所有插件,结果出现了同样的错误。

2 个赞

Cloudflare rocketloader 是一个问题,并且会破坏 Discourse。

1 个赞

当然可以,这就是为什么我把我们从它们后面移开,只设置了正常的 DNS 来排除这个问题。

1 个赞

当然,我现在正在等待 DNS 传播以及所有更新的 Let’s Encrypt 证书自行处理,直到所有这些都更新完毕,又增加了一层复杂性。:joy:

2 个赞

如果那不能解决问题,也许值得清除你的 CDN。我认为它在 digitaloceanspaces.com 上。它似乎在提供损坏的文件。例如:https://storage.wackywriters.com/assets/start-discourse-7c0f5f4daf3c942b7b6ecfe8e62e2e5a0f6555924859cf055314c0df3d617353.br.js

5 个赞

哦,谢谢,我会试试的。我在 Cloudflare 上进行了清除,但没有在 DO Spaces 上清除 :thinking:

1 个赞

我认为你可能发现了什么,基于这个话题:S3, Assets & CDN Error

3 个赞

说真的,我都要拥抱你了。问题确实出在 DO Spaces,特别是他们提到的 CDN:Configure an S3 compatible object storage provider for uploads

我通过 bunny.net 设置了一个新的 CDN,现在我们又 暂时 恢复运行了。仍然需要整理我的备份并修复一些损坏的图片,但这已经是我今天离恢复正常运行最近的一次了,哈哈。谢谢你,谢谢你!我通过那个 CDN/S3 配置运行我们的 Spaces 设置已经……天哪,大概有 2 年了。我可能很幸运它直到现在才坏掉。

5 个赞