浏览 611
在nginx上开发的http keyval模块和stream keyval模块,给用户提供了通过动态API配置键值对(key-value pair)的能力。键值对代表的是存储能力,可以存储key-value形式的数据。那么,如何使用keyval模块提供的这种能力呢?下面就介绍一下在nginx反向代理的应用场景中,使用keyval模块动态配置黑名单的方法。
http {
#其他配置...
keyval_zone zone=blacklist:10m type=ip state=/var/lib/nginx/state/blacklist.kv timeout=10m;
keyval $remote_addr $deny zone=blacklist;
server {
listen 80;
server_name localhost;
if ($deny ~* "deny") {
return 403;
}
location /
{
proxy_pass https://www.baidu.com;
}
}
#其他配置...
}
curl -s http://127.0.0.1/api/7/http/keyvals/blacklist
{}
curl -X POST -d '{"192.168.1.100":"deny"}' -s http://127.0.0.1/api/7/http/keyvals/blacklist
curl -s http://127.0.0.1/api/7/http/keyvals/blacklist
{"192.168.1.100":"deny"}
curl -X PATCH -d '{"192.168.1.100:"pass"}' -s http://127.0.0.1/api/7/http/keyvals/blacklist
curl -s http://127.0.0.1/api/7/http/keyvals/blacklist
{"192.168.1.100":"pass"}
按点赞数排序
按时间排序