嘟嘟社区

nginx如何屏蔽动态IP?


想屏蔽一个IP,但是IP经常会变化,目前有个域名动态解析,可以得到实时IP,那么在nginx配置里面怎么屏蔽呢?
现在是deny ip; 直接屏蔽IP的。。。
写个脚本,每分钟检测一次解析纪录,提交到nginx,然后reload
频密reload不好的
2个方法:
1.2楼说的
2.

https://docs.nginx.com/nginx/admin-guide/security-controls/denylisting-ip-addresses/

cicvc 发表于 2022-7-8 09:35
写个脚本,每分钟检测一次解析纪录,提交到nginx,然后reload

  1. #!/bin/sh
  2. BACKUPNAME="XXX.com"
  3. IP=`ping ${BACKUPNAME} -c 1 | sed ‘1{s/[^(]*(//;s/).*//;q}’`
  4. NEWIP=’deny ‘${IP}’;’
  5. var=$(cat /www/server/nginx/conf/banned_ip.conf)
  6. if [[ $NEWIP != $var ]]
  7. then
  8. echo ${NEWIP} >/www/server/nginx/conf/banned_ip.conf
  9. /usr/local/nginx/sbin/nginx -s reload
  10. fi

复制代码

嗯,写了个脚本,貌似可以!

写个脚本定时获取IP地址 写入iptables里
nginx可以用lua