请求过多问题

我测试了 CDN 服务,一切正常。但当我关闭它(取消 app.yml 中的注释行)后,就完全无法操作了。每个标签页都显示“请求过多”,或者没有任何内容显示。这是怎么回事?

1 个赞

您有反向代理吗?您可能需要配置相关设置,以便将真实的 IP 地址传递给 Discourse。

1 个赞

没有,我是按照基础指南安装 Discourse 的。

1 个赞

如果我正确理解这里的类比,您是在同一设备上打开多个标签页来测试/实验加载时间吗?

如果是这样,“请求过多”可能是合理的响应,因为所有这些浏览器会话都在争抢重新下载相同的资源,而不知道文件已经存在于缓存中。

2 个赞

问题恰恰在于我没有这样做。我什么也没做,今天也在进行测试。

我所做的只是在设置(app.yml)中关闭了连接的 CDN。结果现在我甚至无法登录管理员后台。为什么会发生这个问题,以及如何预防?

奇怪的是,如果我再次开启 CDN(CloudFront),这个论坛就能正常运行了?这很奇怪。为什么?

1 个赞

你好 @slivo

这类谜题可能很有趣;但当然,当你的网站出现故障时,“有趣”并不是合适的描述。

一种可能性是:当你关闭 CDN 时,浏览器缓存中可能残留了一些 JavaScript 代码。这些代码在 CDN 开启时被缓存,之后你关闭了 CDN,但没有清除缓存,导致这些缓存的 JS 代码无法正常运行。

当然,这可能根本就不是问题所在;但你可以通过打开浏览器开发者控制台并禁用浏览器缓存来测试这一点。

在调试一些奇怪行为时,禁用缓存往往能提供很大帮助。

希望这能帮助你推进问题的调试。

注意:在这些配置更改之间,你也可以尝试完全清除浏览器缓存。

2 个赞

更正。实际上,即使恢复 CDN 也无济于事。这是我当前管理面板的样子!fail|690x212

1 个赞

所以我这么做了。这些消息不断闪烁——大约每秒 10 次,哈哈!

2 个赞

我原以为原因可能是一些琐碎的问题,例如,在使用 CDN 时是否应该使用某种 rake 命令?

CDN 和 S3 上传并不相同。

1 个赞