我在 Apache 前面安装了 Nginx 来终止 SSL 并过滤内容。我尝试使用以下方法让速率限制工作:这些文档。
当我使用以下代码测试 10 个请求的循环时卷曲,所有请求/我的测试/仍在转发回 Apache - 其中 8 个显示相同的时间戳,精确到秒。我预计每秒只有一个请求到达 Apache。我忽略了什么?
我的卷曲命令:
for i in $(seq 1 10); do curl --verbose --request "GET /mytest" https://myhost.com; done
nginx.conf:
http {
...
include /etc/nginx/conf.d/*.conf;
...
}
/etc/nginx/conf.d/rate-limit.conf:
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location /mytest/ {
limit_req zone=one; #:: removed burst=5 for testing - made no diff
}
}
答案1
您所在的位置有速率限制,/mytest/
但您正在请求/mytest
(没有尾部斜杠)。这些请求与该位置不匹配。