对不存在的 URL 发出大量 RSS 提要请求导致 404(和高负载)

对不存在的 URL 发出大量 RSS 提要请求导致 404(和高负载)

最近我推出了一个新网站,完全取代了以前的网站。

我们在前面有 cloudflare,并将主机名切换为新的站点 IP。

我们立即看到负载超过 200+,并且持续的 HTTP 回复流为 404,速度约为 25Mbps(我猜不是更高,因为 CPU 核心已达到最大值)。

据我所见,每秒对 rss.xml 的点击次数很多(该文档在新网站上已不存在,但在旧网站上仍然存在)。

这个请求反过来进入 WordPress 启动 WP 加载序列,它会加载一些插件(带有可疑的非性能代码),并且每秒的大量请求会导致非常高的服务器负载。

为了防止将来再次发生此情况:

  1. 是否可以通过 nginx 限制对此 RSS URL(或任何其他 URL)的请求的速率?

  2. 有没有什么方法可以防止 WordPress 在找不到文件时关闭服务器并快速退出,而不是加载非缓存页面(以及所有后续插件)以便呈现 404 页面?

相关内容