Nginx-模块-ngx_http_access_module【访问控制】

Nginx-学习目录

1、基础

1.1、作用

ngx_http_access_module模块允许限制对某些客户端地址的访问。

1.2、指令介绍

1.2.1、allow

# 允许访问
Syntax: allow address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except

1.2.2、deny

# 禁止访问
Syntax: deny address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except

2、实战

2.1、只允许指定的来源IР能访问/centos,其它网段全部拒绝

2.1.1、配置nginx

cat >/etc/nginx/conf.d/mirror.cyc.com.conf <<'EOF'
server{
  listen 80;
  server_name mirror.cyc.com;
  charset utf-8; 
  root /mnt/;
  location /cdrom {
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;

    allow 192.168.10.0/24;
    deny all;
  }

  location / {
    index index.html;
  }
}
EOF

2.1.2、重新加载nginx

systemctl reload nginx

2.1.3、测试访问

nginx-server ~]# curl http://127.0.0.1/cdrom/ -I
HTTP/1.1 403 Forbidden # 这个被拒绝掉
...

nginx-server ~]# curl http://192.168.10.101/cdrom/ -I
HTTP/1.1 200 OK
...

3、deny和allow匹配顺序

默认情况下,从第一条规则进行匹配如果匹配成功,则不继续匹配下面的内容。
如果匹配不成功,则继续往下寻找能匹配成功的内容。

 

posted @ 2023-04-27 14:24  小粉优化大师  阅读(122)  评论(0编辑  收藏  举报