secure_link_md5
指令 `secure_link_md5` 生成并验证用于文件安全链接的 MD5 哈希。 — NGINX HTTP Core
secure_link_md5
httpserverlocation
语法secure_link_md5 string;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
指令 `secure_link_md5` 用于在 NGINX 中实现一种对文件的安全访问控制方法。它主要通过基于预定义的密钥、特定的请求 URI 和时间戳生成 MD5 哈希来保护资源,防止未授权访问。当对某个资源发出请求时,该指令会将生成的哈希与请求中提交的哈希进行比较,以验证链接的合法性和有效性。如果哈希匹配且时间戳在可接受范围内,则授予访问权限;否则拒绝访问。 `secure_link_md5` 的参数是一个字符串,应包含共享密钥、URI 和一个过期时间。过期时间决定生成链接的有效期,通过限制链接可使用的时长来增强安全性。这在需要访问敏感资源但不希望广泛开放的场景(例如文件下载或付费内容)中特别有用。 为了有效启用该指令,务必确保服务器端和客户端使用相同的哈希算法和参数,以保持生成的 MD5 哈希与提交的哈希之间的一致性和安全性。该指令可在多个上下文中配置,包括 `http`、`server` 和 `location`,从而根据应用结构实现灵活部署。
配置示例
location /private {
secure_link_md5 "$arg_md5$uri$time$remote_addr";
secure_link "";
if ($secure_link = 0) {
return 403;
}
# Protected resource access would follow
}⚠
确保在服务器和客户端实现中使用一致的哈希算法。
⚠
注意服务器和客户端之间的时间同步,以避免链接过早失效。
⚠
始终使用安全(https)连接以防止链接数据被截获。