巅峰霸主 > 运营推广 > 服务器运维 >

Nginx禁止单个IP或者屏蔽某个IP段访问的方法

时间:2020-11-14 14:07:28  来源:巅峰霸主网  作者:烈火大地 点击:
摘要:关于nginx中禁止单个ip访问网站或者屏蔽某个ip段的人访问网站,只需修改配置文件即可实现……

一、只允许某几个、某个ip访问网站

nginx配置访问ip需要修改nginx.conf文件,只需要在server中添加allow跟deny的ip即可,如下:

upstream novel {
	server 127.0.0.1:8080;
}
server {
	listen       80;
	server_name  localhost;

	charset utf8;

	allow 112.97.0.0/16;#只允许该ip访问网站,多个ip则一起加进来
	deny all;#其他不在允许范围内的ip均不能访问网站

	location / {
		proxy_pass  http://novel;
		proxy_set_header Host      $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}

	error_page   500 502 503 504  /50x.html;
	location = /50x.html {
		root   html;
	}
}

ps: 上面的配置中allow必须在deny的前面配置,不然allow不生效。

 以上适合内网访问或者测试网站,只允许固定的一部分ip访问,其他的均不在允许的范围内。

二、nginx中允许或者拒绝某个ip访问

allow 192.168.0.1;
deny  192.168.0.2;

三、禁封某个IP段

deny 123.0.0.0/8;    // 封 123.0.0.1~123.255.255.254 这个段的ip
deny 123.1.0.0/16;   // 封 123.1.0.1~123.1.255.254 这个段的ip
deny 123.1.1.0/24;   // 封 123.1.1.1~123.1.1.254 这个段的ip

deny all;  // 封所有ip

ps: allow跟deny配置相同,如果需要开放某个IP段,只需要把上面的deny改成allow

四、屏蔽很多ip的做法

如果你有很多的ip需要配置的话,那么你也可以新建一个文件,如:allow_deny_ip.conf

然后把需要配置的ip单独写在这个文件上面,最后在nginx中引用这个文件即可,如下:

server {
...
include allow_deny_ip.conf
...
}

这样就可以了。

(责任编辑:陆柏熺)
评价:
用户名: 验证码: 看不清?点击更换


关注站长自媒体 获取更多优质内容

  • 百家号
    百家号
  • 头条号
    头条号
  • 企鹅号
    企鹅号
2019-2020 ©巅峰霸主网 京ICP备12023415号-2
返回顶部