nginx配置访问控制allow、deny限制IP访问
近期查看nginx访问日志,发现有很多IP不正常访问爬取数据或者访问不存在的目录,想到的就是禁止这些ip访问网站,上次讲过使用iptables 禁止指定IP访问,今天主要讲通过配置nginx来实现
1、deny用法
# 屏蔽单个ip # 格式: deny ip; deny 123.68.23.5; # 屏蔽所有IP访问; deny all; # 屏蔽区间ip # 格式:deny ip/mask # 屏蔽47.110.180.0到47.110.180.255访问的命令 deny 172.12.62.0/24;2、allow用法
# 允许单个ip # 格式: allow ip; allow 123.68.23.5; # 允许所有IP访问; allow all; # 允许区间ip # 格式:allow ip/mask # 允许47.110.180.0到47.110.180.255访问的命令 allow 172.12.62.0/24;3、注意事项
可以新建一个blockip.conf文件专门放访问配置,然后再nginx.conf配置文件中加入include blockip.conf,重启nginx
nginx会根据配置文件中的语句,从上至下依次判断。因此,写在前面的语句可能会屏蔽后续的语句
屏蔽策略文件可以放在http, server, location, limit_except语句块中,我们可以根据需要合理的配置
放置位置 | 效果 |
http | nginx中所有服务起效 |
server | 指定的服务起效 |
location | 满足的location下起效 |
limit_except | 指定的http方法谓词起效 |