deny和allow指令属于ngx_http_access_module, 这个模块内置在了nginx中,除非你安装中使用了--without-http_access_module。

allow

语法: allow address | CIDR | unix: | all;
默认值: —
配置段: http, server, location, limit_except

允许某个ip或者一个ip段访问.如果指定unix(>1.5.1),那将允许socket的访问

location / {
  deny  192.168.1.1;
  allow 192.168.1.0/24;
  allow 10.1.1.0/16;
  allow 2001:0db8::/32;
  deny  all;
}
# 从上到下的顺序,类似iptables。匹配到了便跳出。
# 如上的例子先禁止了192.16.1.1,
# 接下来允许了3个网段,其中包含了一个ipv6,
# 最后未匹配的IP全部禁止访问.  
# 在实际生产环境中,我们也会使用nginx 的geo模块配合使用

deny

语法: deny address | CIDR | unix: | all;
默认值: —
配置段: http, server, location, limit_except

禁止某个ip或者一个ip段访问.如果指定unix(>1.5.1):,那将禁止socket的访问

# 禁止多个目录
location ~ ^/(cron|templates)/ {
  deny all;
  break;
}

results matching ""

    No results matching ""