我如何在Nginx中限制请求到某些URL而不管客户端IP如何?例如,我的API每秒只能处理1000个请求,无论是什么用户发送请求。我如何在Nginx中做到这一点?
bvn4nwqk1#
你可能已经看过这个页面:https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-proxied-http/我相信在讨论使用$server_name而不是$binary_ip_address的部分中有答案。我相信在那个页面上的任何一个例子中,使用$server_name而不是ip address本质上会使它成为一个全局设置,因为服务器名称应该每次都是相同的。所以即使那个页面上的大多数例子都设置为“每个客户端IP地址独立”,如果你在任何例子中用$server_name替换$binary_ip_address,我想这就是你想要的。我们不能使用空字符串作为该值,我想说,根据文档(https://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn_zone)中的以下评论:不考虑具有空键值的请求。
$server_name
$binary_ip_address
1条答案
按热度按时间bvn4nwqk1#
你可能已经看过这个页面:https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-proxied-http/
我相信在讨论使用
$server_name
而不是$binary_ip_address
的部分中有答案。我相信在那个页面上的任何一个例子中,使用$server_name而不是ip address本质上会使它成为一个全局设置,因为服务器名称应该每次都是相同的。所以即使那个页面上的大多数例子都设置为“每个客户端IP地址独立”,如果你在任何例子中用
$server_name
替换$binary_ip_address
,我想这就是你想要的。我们不能使用空字符串作为该值,我想说,根据文档(https://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn_zone)中的以下评论:
不考虑具有空键值的请求。