nginx中封禁ip和允许内网ip访问的实现示例

 2022-11-23    298  

目录
  • 一、语法
  • 二、封禁ip
  • 三、仅内网IP访问

Nginx不仅仅只是一款反向代理和负载均衡服务器,它还能提供很多强大的功能,例如:限流、缓存、黑白名单和灰度发布等等,我们先来了解一下nginx如何封禁ip和允许内网ip访问。

一、语法

Nginx的ngx_http_access_module 模块可以封配置内的ip或者ip段

nginx中封禁ip和允许内网ip访问的实现示例

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 

deny 192.168.4.3; 
deny 31.42.145.0/24; 
deny 51.12.35.0/24;

然后保存此文件

并且打开nginx.conf文件,在http配置节内添加下面一行配置:

http {
    # 其他配置
 
    include blockips.conf;
}

测试现在的nginx配置文件是否是合法

/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重新载入配置文件 

/usr/local/nginx/sbin/nginx -s reload

三、仅内网IP访问

配置如下

下面配置中禁止了192.168.1.1,允许其他内网网段,然后deny all禁止其他所有ip。

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访问的实现示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/15848.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。