Issue description
I think the apisix limit-req plugin needs to support combined conditions to limit the request frequency and support whitelisting; just like the tengine limit-req module, it supports multiple conditional restrictions, such as: http_x_forward & http_user_agent are used to limit the request frequency and support white names.
This is the module documentation of tengine limit-req
https://tengine.taobao.org/document_cn/http_limit_req_cn.html
Environment
- apisix version (cmd:
apisix version):
- OS (cmd:
uname -a):
- OpenResty / Nginx version (cmd:
nginx -V or openresty -V):
- etcd version, if have (cmd: run
curl http://127.0.0.1:9090/v1/server_info to get the info from server-info API):
- apisix-dashboard version, if have:
- the plugin runner version, if the issue is about a plugin runner (cmd: depended on the kind of runner):
- luarocks version, if the issue is about installation (cmd:
luarocks --version):
Issue description
I think the apisix limit-req plugin needs to support combined conditions to limit the request frequency and support whitelisting; just like the tengine limit-req module, it supports multiple conditional restrictions, such as: http_x_forward & http_user_agent are used to limit the request frequency and support white names.
This is the module documentation of tengine limit-req
https://tengine.taobao.org/document_cn/http_limit_req_cn.html
Environment
apisix version):uname -a):nginx -Voropenresty -V):curl http://127.0.0.1:9090/v1/server_infoto get the info from server-info API):luarocks --version):