我正在configurationnginx与secure_download一起工作,并使其工作没有任何问题。
不过,我想修改它,只为特定的IP做下载链接。
我可以使用$remote_addrvariables来实现这一点。 不过有一些ISP知道我经常更换IP(每2或3秒一次)。
我的ISP也这样做,例如:
我现在得到了112.112.11.11作为我的IP,刷新后会是112.112.11.17 。 这个行为是由ISP设置的,而不是由我的调制解调器或路由器设置的,我知道还有几个ISP也这样做。
现在,IP变化太快,安全下载将无法正常工作,因为在加载页面时,IP可能已经改变,导致下载链接对新IP无效。
我在想的是告诉nginx只查看IP地址的前3个块,在这种情况下, 112.112.11.x将能够使用相同的安全下载链接下载相同的文件。 这将有可能使用nginx conf ?
欢迎任何其他select。
您可以使用map指令添加一个新的variables,该variables只包含$ remote_addr的前三个八位字节:
map $remote_addr $remote_net { default $remote_addr; ~^(?<octets>\d+\.\d+\.\d+) $octets; }
然后使用$ remote_net而不是$ remote_addr。 默认情况下,ipv6客户端将仅保留variables,而只有ipv4客户端的前三个八位字节。
您可以在操作系统级别停止访问。 使用iptables允许来自该范围的主机的端口80和443上的入站stream量,然后拒绝端口80和443上的所有其他stream量。