Nginx的allow和deny指令是由ngx_http_geo_module模块提供,Nginx安装默认内置了该模块,该模块允许限制对某些客户端地址的访问控制。

1、指令介绍

语   法:allow/deny address | CIDR | unix: | all

它表示,允许/拒绝某个ip或者ip段访问.如果unix:指定了特殊值(1.5.1新加入功能),那将允许/拒绝 unix域套接字的访问。

应用场景: http, server, location, limit_except

注:在nginx中allow和deny的规则是按顺序执行。

2、配置示例

location / {
    allow 192.168.1.0/24;
    allow 10.10.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}

依次检查规则,直到找到第一个匹配项。在此示例中,仅允许对IPv4网络 192.168.1.0/24,10.10.1.0/16和IPv6网络进行访问2001:0db8::/32。在有很多规则的情况下, 最好使用ngx_http_geo_module模块变量。

上一篇 下一篇