Nginx配置限制IP访问

Nginx配置限制IP访问

有时候我们需要针对屏蔽某些恶意的IP访问我们的网站,或者限制仅仅某些白名单IP才能访问我们的网站。这时候我们就可以在nginx中通过简单的配置来达到目的。

配置语句

屏蔽单个ip访问

# 格式: deny ip;
deny 11.11.11.11;

允许单个ip访问

# 格式: allow ip;
allow 11.11.11.11;

屏蔽所有ip访问

deny all;

允许所有ip访问

allow all;

屏蔽ip段访问

# deny ip/mask
# 11.11.11.0到11.11.11.255访问的命令 
deny 11.11.11.0/24;

允许ip段访问

# allow ip/mask
# 屏蔽11.11.0.0到11.11.255.255访问的命令 
allow 11.11.0.0/16;

配置说明

  1. 可新建一个配置文件,如blockip.conf。在其中编写相关的ip限制语句,然后在nginx.conf中加入如下配置:
# 配置ip限制策略
include blockip.conf; 
  1. nginx会根据配置文件中的语句,从上至下依次判断。因此,写在前面的语句可能会屏蔽后续的语句。
    1. 除部分ip白名单外,屏蔽所有ip的错误示例
    deny all; # 该语句已经禁止所有ip的访问,后续的配置不会生效
    allow 11.11.12.6;
    allow 11.11.13.7;
    allow 11.11.14.8;
    
    1. 正确示例
    # 允许部分ip访问
    allow 11.11.12.6;
    allow 11.11.13.7;
    allow 11.11.14.8;
     # 禁止其余ip访问
    deny all; 
    
  2. 屏蔽策略文件可以放在http, server, location, limit_except语句块中,我们可以根据需要合理的配置。
放置位置效果备注
httpnginx中所有服务起效-
server指定的服务起效-
location满足的location下起效-
limit_except指定的http方法谓词起效-
# nginx   配置  

评论

企鹅群:39438021

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×