Nginx URL黑名单插件,将要禁止的URL存入Redis List结构中
Nginx安装了Lua支持
-
Step1、在 server 配置节之上添加lua扩展
lua_package_path "/usr/local/nginx/conf/lua/lib/?.lua;;";
lua_package_cpath "/usr/local/nginx/conf/lua/lib/?.so;;"; -
Step2、在需要使用的 server 里启用URL黑名单插件
# 当前站点的URL,如果是非80端口,则需要写上端口好,结尾不要带/
set $curURL "http://lua.com:90";
# 存储URL黑名单的Redis Key
set $killUrls "killUrls";
# Redis主机IP
set $redisHost "192.168.1.88";
# Redis主机端口
set $redisPort "6379";
# lua_code_cache off;
access_by_lua_file conf/lua/killURL.lua; -
Step3、重启Nginx
# service nginx restart
# redis-cli -p 6379
127.0.0.1:6379> lpush killUrls http://www.123.com.cn/show/9-9.html