我有一个使用PHP的Apache2.4服务的网站。有些页面需要几秒钟的时间才能生成。有时,一些bot或爬虫试图一次下载大量这些页面,所有请求都会生成PHP进程,而服务器由于内存不足而变得非常慢。
我可以限制PHP进程的数量或并发连接的数量(甚至限制来自单个IP和mod_qos的并发连接的数量),但随后进一步的请求(或者至少是来自该IP的进一步请求)立即得到503个结果。是否可以将多余的请求保存在待办事项中,并在以前的请求完成后处理它们?
发布于 2021-01-12 07:05:40
安装Nginx作为反向代理,并按本手册( https://www.nginx.com/blog/rate-limiting-nginx/ )的规定在那里应用限速。
我不想复制页面上描述的所有功能,有很多,你最好自己读一读。这是官方的博客页面,所以它不太可能消失。
https://serverfault.com/questions/1049473
复制相似问题