经济日报
Nginx 按文件类型拦截适合多个目录都存在安装包或压缩包的站点,下面的扩展名仅作为示例,应根据实际业务增删。
服务器返回404不会让已经下载到用户设备中的文件失效,也无法阻止用户复制已公开的安装包。需要限制传播时,还应控制文件权限、下载身份、签名参数和链接有效期。
CDN、反🤔向代理和浏览器缓存可能继续提供此前已经缓存的文件,因此源站新增拦截规则后,还要清理对应缓存并确认缓存节点😎没有返回旧的200响应。
要实现404禁止软件下载,核心做法是让服👍务器在请求进入文件读取或下载响应之前,直接对指定目录、文件扩展名或下载接口返回 HTTP 404。常见配🌅置对象包括 exe、msi、apk、dmg、zip、rar、7z 等文件,也可以只限制某一个下载目录。
如果下载文件由程序接口动态输出,仅屏蔽文件后缀并不能真正阻止🌅下载,必须同时检查下载接口、文件存储路💡径、缓存节点和历史链接。HTTP 404 适合隐藏资源是否存在,HTTP 403 更适合明确表示“有资源但无权限访问”,两者不能混用。
当目标是让公开安装包链接失效时,返回404配🎉合目录隔离通常足够;当目标是保护付费文件、用户附件或内部资料时,还必须增加应用鉴权、存储隔离和短期授权,单独设置💪404不能构成完整的软件下载保护。