nginx屏蔽某一ip的访问

时间:2023-03-08 22:18:28
nginx屏蔽某一ip的访问

假设我们想禁止访问nginx次数最多的ip访问我们的网站

我们可以先查出那个ip访问次数最多

awk '{print $1}' nginx.access.log |sort |uniq -c|sort -n

在nginx的配置文件的同一文件夹下,新建一个deny.conf文件,

该文件内容为

deny ip;

ip为访问量最多的ip,注意后面有;,否则重启nginx报错

接着配置nginx配置文件

在http{}内或者server{}内添加语句

include deny.conf;

重启nginx,该ip无法访问nginx

ip可以是单独ip,也可以是一段ip

例如

192.168.1.10 单独ip

192.168.1.10/24 一段ip

当然也可以选择设置防火墙不对某一ip开放80端口

也可以这样配置,只允许某个ip访问

目标:只允许100ip访问

里面的修改这里的内容修改的内容为

Order allow,deny

Allow from 192.168.1.100`

重启服务器,只有100ip可以访问,其他ip会出错