Nginx HttpSecureLinkModule 和 IP 限制哈希有时不起作用

Nginx HttpSecureLinkModule 和 IP 限制哈希有时不起作用

我使用 nginx 模块 HttpSecureLinkModule 来保护资源不被过期哈希热链接,这些哈希使用用户的 IP 地址来生成只对他们有效的哈希,并且在 x 秒后过期。我注意到的问题是,极少数用户经常会得到错误的哈希,这导致 nginx 拒绝该哈希并将用户发送到错误页面,提示哈希已过期或格式错误。

生成哈希值并接受哈希值并返回资源的服务器是不同的,时间是同步的。人们会向我报告问题,我会在多台电脑、浏览器和 IP 上亲自尝试,从来没有遇到过问题。

我唯一能想到的是,当他们访问 www.domain.com(生成哈希值)然后访问 subdomain.domain.com/file.ext?hash= 以获取实际文件时,他们的 IP 地址会发生变化。不同的 IP 地址会导致它返回错误。

在某些 ISP 下这种情况可能吗?如果是,除了不在哈希中使用 IP 地址外,还有其他方法可以解决这个问题吗?

相关内容