1. 闲不住的人首页
  2. 网站服务

Nginx访问控制模块

ngx_http_access_module 实现基于 IP 的访问控制,用来实现允许或者禁止某些客户端地址进行访问。

官方示例:

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

从上到下依次进行检查规则,在此示例中仅允许 IPV4 网络 10.1.1.0/16 和 192.168.1.0/24 两个网络进行访问,但并不包括 192.168.1.1,以及允许 IPV6 网络2001:0db8::/32

配置指令:

# 允许指定的地址或网络访问
Syntax:	allow address | CIDR | unix: | all;
Default:	—
Context:	http, server, location, limit_except
# 拒绝指定的地址或网络访问
Syntax:	deny address | CIDR | unix: | all;
Default:	—
Context:	http, server, location, limit_except

示例:允许 10.100.4.0/24 网段内主机访问,但是拒绝 10.100.4.181 访问;

root@opsbj-nginx:~ # cat /etc/nginx/conf.d/demo.conf
server {
  listen 80;
  server_name 10.100.4.169;
  index index.html index.htm;
  access_log /var/log/nginx/demo_access.log;

  location / {
    root /data/demo/;
    deny 10.100.4.181;
    allow 10.100.4.0/24;
    deny all;
  }
}

在 10.100.4.181 服务器上使用 curl 命令请求 http://10.100.4.169 测试能否访问,在 10.100.4.182 服务器上使用 curl 命令请求 http://10.100.4.169 测试能否访问。

Nginx访问控制模块示例测试

原创文章,作者:恩志,如若转载,请注明出处:https://www.xbzdr.com/290.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

在线咨询:点击这里给我发消息

邮件:510749025@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code