acl

acl 指令指定在 NGINX 中用于生成安全令牌的访问控制列表 (ACL)。

语法acl value;
默认值none
上下文
参数1

说明

NGINX 的 Secure Token 模块中的 acl 指令用于定义访问控制规则,这些规则会被嵌入到为访问资源而生成的安全令牌中。该指令接受一个参数——一个指定访问控制列表(ACL)规则的复杂值。ACL 的目的是根据指定的条件(例如用户 IP 地址、URI 或其他参数)限制对某些资源的访问。该指令确保只有符合定义的 ACL 规则的请求才能成功获取安全令牌并随后访问受保护的资源。

当服务器处理请求时,会将已定义的 acl 与传入请求参数进行评估。如果请求满足已定义的 ACL 条件,将生成包含这些条件的安全令牌。该安全令牌包含诸如过期时间、ACL 参数和用于校验的 HMAC 签名等组成部分。如果请求不符合 ACL 条件,安全令牌验证将失败,从而拒绝对所请求资源的访问。该机制有助于对通过 CDN 分发的内容实施细粒度的访问控制,从而增强视频流或其他敏感资产的安全性。

acl 指令通常在安全令牌块的上下文中使用——具体为 secure_token_akamaisecure_token_cloudfront ——这些块负责为各自的 CDN 生成令牌。正确配置 ACL 可以显著影响访问安全性和性能,因为它建立了决定谁可以检索令牌并访问内容的关键规则。

配置示例

secure_token_akamai {
    key 1234567890abcdef;
    acl "ip=192.168.1.0/24";
    param_name "st";
    start 5m;
    end 1h;
}

确保 ACL 格式正确;格式错误的输入可能导致访问被拒绝。

如果没有按逻辑结构组织,将多个复杂值组合可能导致意外行为。

请记得在有效的 secure token block 中定义 ACL;在其外使用会导致配置错误。

← 返回所有指令