Nginx不仅仅只是一款反向代理和负载均衡服务器,它还能提供很多强大的功能,例如:限流、缓存、黑白名单和灰度发布等等,我们先来了解一下nginx如何封禁ip和允许内网ip访问。
一、语法
Nginx的ngx_http_access_module 模块可以封配置内的ip或者ip段
1
2
3
4
5
6
7
8
|
deny IP; deny subnet; allow IP; allow subnet; # block all ips deny all; # allow all ips allow all; |
二、封禁ip
假定nginx的目录在/usr/local/nginx/
首先要建一个封ip的配置文件blockips.conf,然后在文件中输入要封的ip
1
2
3
|
deny 192.168.4.3; deny 31.42.145.0 /24 ; deny 51.12.35.0 /24 ; |
然后保存此文件
并且打开nginx.conf文件,在http配置节内添加下面一行配置:
1
2
3
4
5
|
http { # 其他配置 include blockips.conf; } |
测试现在的nginx配置文件是否是合法
1
|
/usr/local/nginx/sbin/nginx -t |
如果配置没有问题,就会输出
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
如果配置有问题就需要检查下哪儿有语法问题
如果没有问题,需要执行下面命令,让nginx重新载入配置文件
1
|
/usr/local/nginx/sbin/nginx -s reload |
三、仅内网IP访问
配置如下
下面配置中禁止了192.168.1.1,允许其他内网网段,然后deny all禁止其他所有ip。
1
2
3
4
5
6
7
8
|
location / { # block one workstation deny 192.168.1.1; # allow anyone in 192.168.1.0/24 allow 192.168.1.0 /24 ; # drop rest of the world deny all; } |
到此这篇关于nginx中封禁ip和允许内网ip访问的实现示例的文章就介绍到这了,更多相关nginx封禁ip和允许内网ip访问 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_41635750/article/details/123537951