由于 CloudFlare Rocket Loader 导致 UI 在 Chrome/Firefox 中无法渲染

你好,

我安装了 Discourse(Plesk、Cloudflare),并安装了一些插件,但突然它在 Chrome 或 Firefox 上无法运行(UI 无法渲染),而在 Edge/Explorer 上仍然正常。

编辑:在 Chrome/Firefox 中,所有 UI 都被包裹在一个 HTML 标签中,而在 Edge 中则没有。

有什么方法可以正确调试这种行为吗?

谢谢。

请从安全模式开始排查:

1 个赞

您指的是旧版 Edge 还是基于 Chromium 的 Edge?

我说的是 Microsoft Edge,在安全模式(禁用所有扩展)下,它只能有限地工作,并提示我应该启用 JavaScript,即使它已经启用了。

我开始认为 Chrome 和 Firefox 可能是对 SSL 证书的某个安全问题做出了反应,我可能会开始检查这方面:比如 Cloudflare 等。

有没有关于 Cloudflare 配置的良好指南可以参考?
谢谢。

好的,我终于移除了 Cloudflare 的代理,问题就解决了。所以 NoScript 的问题出在 Cloudflare 上,可能与严格 SSL 和/或源站拉取有关。

我会继续排查,但如果有关于 Cloudflare 和 Discourse 的完善教程,那就太棒了。

除非你有理由认为自己可能成为 DDoS 攻击的目标,否则建议关闭橙色云功能。搜索一下,你会发现有很多相关讨论。

看起来所有的问题都出在 Rocket Loader 上。

由于在 Discourse 前面部署了 Plesk 的 nginx,我能够使用 Cloudflare 的橙色 DNS、完全(严格)SSL 模式、从 Cloudflare 拉取源站证书,并在 Discourse 上启用完整的 HTTPS。

现在一切正常,让我们看看它是否稳定。

如果你坚持在 Discourse 前面使用 Cloudflare,你需要为你的 Discourse 域名设置一条页面规则,将其设置为“禁用性能”。这将关闭所有已知会破坏 Discourse 的 Cloudflare 功能。

3 个赞

谢谢你的提示,如果以后遇到其他问题,我会记在心里的!

好主意,没有它,我们无法为您提供任何支持。

1 个赞