ngx_http_access_module
ngx_http_access_module
模块允许限制对某些客户端地址的访问。
访问也可以通过密码、子请求结果或 JWT 限制。可用 satisfy 指令通过地址和密码同时限制访问。
示例配置
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
与 IPv6 网络 2001:0db8::/ 32
访问,不包括地址 192.168.1.1
。在很多规则的情况下,最好使用 ngx_http_geo_module 模块变量。
指令
allow
- | 说明 |
---|---|
语法 | allow address | CIDR | unix: | all ; |
默认 | —— |
上下文 | http、server、location、limit_except |
允许访问指定的网络或地址。如果指定了特殊值 unix:
(1.5.1),则允许访问所有 UNIX 域套接字。
deny
- | 说明 |
---|---|
语法 | deny address | CIDR | unix: | all ; |
默认 | —— |
上下文 | http、server、location、limit_except |
拒绝指定网络或地址的访问。如果指定了特殊值 unix:
(1.5.1),则拒绝所有 UNIX 域套接字的访问。
原文档
http://nginx.org/en/docs/http/ngx_http_access_module.html
ngx_http_addition_module
ngx_http_addition_module
是一个过滤器,用于在响应之前和之后添加文本。该模块不是默认构建,要启用应使用 --with-http_addition_module
配置参数构建。
示例配置
location / {
add_before_body /before_action;
add_after_body /after_action;
}
指令
add_before_body
- | 说明 |
---|---|
语法 | add_before_body uri ; |
默认 | —— |
上下文 | http、server、location |
在响应正文之前添加文本,作为给定子请求的一个处理结果返回。空字符串(""
)作为参数时将取消从先前配置级别继承的额外文本。
add_after_body
- | 说明 |
---|---|
语法 | add_after_body uri ; |
默认 | —— |
上下文 | http、server、location |
在响应正文之后添加文本,作为给定子请求的一个处理结果返回。空字符串(""
)作为参数时将取消从先前配置级别继承的额外文本。
addition_types
- | 说明 |
---|---|
语法 | addition_types mime-type ... ; |
默认 | addition_types text/html; |
上下文 | http、server、location |
提示 | 该指令在 0.7.9 版本中出现 |
除了 text/html
外,允许您在指定的 MIME 类型的响应中添加文本。特殊值 *
匹配所有 MIME类型(0.8.29)。
原文档
http://nginx.org/en/docs/http/ngx_http_addition_module.html
ngx_http_auth_basic_module
ngx_http_auth_basic_module
模块允许通过使用 HTTP Basic Authentication 协议验证用户名和密码来限制对资源的访问。
也可以通过地址、子请求结果或 JWT 来限制访问。可使用 satisfy 指令通过地址和密码同时限制访问。
示例配置
location / {
auth_basic "closed site";
auth_basic_user_file conf/htpasswd;
}
指令
auth_basic
- | 说明 |
---|---|
语法 | auth_basic string | off ; |
默认 | auth_basic off; |
上下文 | http、server、location、limit_except |
使用 HTTP Basic Authentication 协议,启用用户名和密码验证。指定的参数用作为一个 realm
。参数值可以包含变量(1.3.10、1.2.7)。特殊值 off
可以取消从先前配置级别继承的 auth_basic
指令的影响。
auth_basic_user_file
- | 说明 |
---|---|
语法 | auth_basic_user_file file ; |
默认 | —— |
上下文 | http、server、location、limit_except |
指定一个用于保存用户名和密码的文件,格式如下:
# comment
name1:password1
name2:password2:comment
name3:password3
file
的名称可以包含变量。
支持以下密码类型:
- 用
crypt()
函数加密;可以使用 Apache HTTP Server 分发的或openssl passwd
命令中的htpasswd
工具生成; - 使用基于 MD5 密码算法(apr1)的 Apache 变体进行散列计算;可以用与上述相同的工具生成;
- RFC 2307 中指定的
{scheme}data
语法(1.0.3+);目前的实现方案包括PLAIN
(一个不应该使用的示例)、SHA
(1.3.13)(简单 SHA-1 散列,不应该使用)和SSHA
(一些软件包使用了加盐的 SHA-1 散列,特别是 OpenLDAP 和 Dovecot)。
增加了对 SHA 模式的支持,仅用于帮助从其他 Web 服务器迁移。 它不应该用于新密码,因为它使用的未加盐的 SHA-1 散列容易受到彩虹表的攻击。
原文档
http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html