我们正在优化 SlickStack 的默认配置,并寻找一些默认值来推荐给 Nginx 中
limit_req
和 limit_conn
设置的用户。
大多数时候,对于像
rate=1r/s
这样的 URI,建议使用 burst=1 nodelay
和 /wp-login.php
之类的东西,但是我见过的许多其他示例似乎不适合动态 CMS。
例如,对整个服务器/网站进行速率限制(注意典型的 WordPress 主题),或对
.php
文件进行速率限制,等等,对于不高的典型 WordPress 网站来说,这可能是一个很好的起点 -交通?
网上有很多关于 WordPress 速率限制的不准确信息。具体来说,许多人认为 1 个请求 = 1 个页面加载,这是错误的。关于每秒
/s
和每分钟 /m
指令的含义以及结果也存在重大错误信息......
由于要加载所有不同的 PHP、JS、CSS 等资源,WordPress 网站平均单个页面加载可能需要 50-100 多个“请求”。
以下是典型 WordPress 网站的
limit_req
和 limit_conn
的一些可能设置:
对于
/wp-login.php
速率限制:
limit_req_zone $binary_remote_addr zone=wplogin:10m rate=1r/s;
limit_req zone=wplogin burst=1 nodelay
对于服务器范围(例如服务器块中的
http
或 location /
):
limit_req_zone $binary_remote_addr zone=sitewide:10m rate=50r/s;
limit_req zone=sitewide burst=100 nodelay;
更多测试后我会添加更多...