access模块
- 用于限定特定IP或者是网段进行访问的,从而实现Nginx的一个访问权限控制
- 这个模块,它仅能够针对IP或者网段的一个访问
1 )指令集
1.1 allow
- 语法结构: allow address | CIDR | UNIX | all
- all 是放行所有
- address 可以是 ip 地址,比如: 1.1.1.1; 还可以是网段 192.168.1.0/24 (子网掩码是24位的)
- CIDR 和 UNIX 用的不多
- 默认值: 无
- 上下文: http、server、location、limit_except
- 示例
- allow 192.168.0.10; 只允许一个ip
1.2 deny
- 语法结构: deny address | CIDR | UNIX | all
- 这和 allow 完全一样
- 默认值: 无
- 上下文: http、server、location、limit_except
- 也和 allow 完全一样
- 示例
- deny 192.168.0.0/24;
2 )组合示例
location / {
deny 192.168.1.1; # 注意这个在下面一个allow的范围之内,要先写上
allow 192.168.1.0/24; # 这个范围比上面 deny 的ip范围要大
allow 10.1.1.0/16;
allow 2001:0db8::/32; # ipv6的写法
deny all; # 除了上面的放行,其余一律拒绝
}
- 被拒绝的服务会显示 403
auth_basic模块
- 它是限制特定用户访问的模块,对特定的URL来说,它必须通过提供的一个用户名或者密码来进行访问
- 这在一些应用场景中是有用的,我们可能内部有一些系统针对不同的部门提供特定访问的时候
- 我们可能针对某一个员工的用户名来进行访问
- 这样一个模块,其实在这样一个应用场景中是很有效的
1 )基本功能
- 基于HTTP Basic Authentication 协议进行用户名密码认证
- 默认已编译进Nginx,通过
--without-http_auth_basic_module
禁用
2 ) 指令
2.1 auth_basic
- 语法:auth_basic string | off