Nginx配置限制IP访问

  |  

Nginx配置限制IP访问

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

相关配置语句

  1. 屏蔽单个ip访问
1
2
# 格式: deny ip;
deny 123.68.23.5;
  1. 允许单个ip访问
1
2
# 格式: allow ip;
allow 123.68.25.6;
  1. 屏蔽所有ip访问
    1
    deny all;
  2. 允许所有ip访问
1
allow all;
  1. 屏蔽ip段访问
1
2
3
 # deny ip/mask
# 屏蔽172.12.62.0到172.45.62.255访问的命令
deny 172.12.62.0/24;
  1. 允许ip段访问
1
2
3
# allow ip/mask
# 屏蔽172.102.0.0到172.102.255.255访问的命令
allow 172.102.0.0/16;

配置说明

  1. 可新建一个配置文件,如blockip.conf。在其中编写相关的ip限制语句,然后在nginx.conf中加入如下配置:
1
2
# 配置ip限制策略
include blockip.conf;
  1. nginx会根据配置文件中的语句,从上至下依次判断。因此,写在前面的语句可能会屏蔽后续的语句。
    除部分ip白名单外,屏蔽所有ip

    允许部分ip访问

1
2
3
4
5
allow 123.45.25.6;
allow 123.68.52.125;
allow 123.125.25.106;
# 禁止其余ip访问
deny all;
  1. 屏蔽策略文件可以放在http, server, location, limit_except语句块中,我们可以根据需要合理的配置。
放置位置 效果
http nginx中所有服务起效
server 指定的服务起效
location 满足的location下起效
limit_except 指定的http方法谓词起效
文章目录
  1. 1. Nginx配置限制IP访问
  2. 2. 相关配置语句
  3. 3. 配置说明
  • 允许部分ip访问