讨论数量:
Q:如何配置 Nginx 站点限流?
- 配置参数
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
- limit_req_zone 定义在 http 块中,$binary_remote_addr 表示保存客户端 IP 地址的二进制形式。
- Zone 定义 IP 状态及 URL 访问频率的共享内存区域。zone = keyword 标识区域的名字,以及冒号后面跟区域大小。16000 个 IP 地址的状态信息约 1MB,所以示例中区域可以存储 160000 个 IP 地址。
- Rate 定义最大请求速率。示例中速率不能超过每秒 10 个请求。
- 设置限流
location / { limit_req zone=mylimit burst=20 nodelay; proxy_pass http://real_server; }
- burst 排队大小
- nodelay 不限制单个请求间的时间
推荐文章: