简单HTML下载页APK链接报404同目录exe可正常访问问题求助
问题排查步骤
- 检查文件名大小写是否完全匹配。Nginx、Apache等常见Web服务器在Linux环境下默认对文件名大小写敏感,代码中引用的
nixagent.apk、word.apk等路径如果和服务器上实际存储的文件名大小写不一致(比如实际文件后缀为.APK、文件名首字母大写)就会触发404,exe文件可正常访问说明其文件名大小写和代码引用完全匹配。 - 检查Web服务器的MIME类型配置。多数服务器默认未配置
.apk后缀的MIME类型映射,会将APK后缀的请求判定为非法路径返回404,而.exe的MIME类型属于默认支持的范围,所以可以正常访问。 - 检查文件读取权限。如果站点部署在Linux服务器上,确认所有APK文件的读取权限、所属用户组和可正常访问的TeamViewer exe文件一致,若Web服务进程无APK文件的读取权限也会返回404。
- 直接访问APK直链测试。在浏览器地址栏直接输入完整APK地址,例如
http://你的站点域名/nixagent.apk,排除HTML页面相对路径配置错误的可能性。 - 检查CDN/防火墙规则。如果站点接入了CDN或者配置了WAF防火墙,确认是否存在拦截APK后缀请求的规则,部分安全策略默认会拦截APK、EXE等可执行文件的下载请求,若EXE被加白但APK未加白也会出现该问题。
对应解决方案
- 文件名大小写问题:统一HTML代码中引用的文件名和服务器上实际存储的文件名大小写,建议统一使用小写命名,避免大小写敏感问题。
- MIME类型缺失问题:
若使用Nginx服务器,在站点配置的server块中添加如下规则,保存后重载Nginx配置即可:types { application/vnd.android.package-archive apk; }
若使用Apache服务器,在站点根目录的.htaccess文件中添加如下规则:AddType application/vnd.android.package-archive .apk
若使用IIS服务器,在站点的MIME类型管理界面新增配置,后缀填.apk,MIME类型填application/vnd.android.package-archive。 - 权限不足问题:执行权限修改命令统一APK文件权限,例如
chmod 755 *.apk,确保和可正常访问的exe文件权限一致。 - 规则拦截问题:在CDN或WAF防火墙的白名单中添加
.apk后缀的下载规则,放行APK文件的下载请求。
内容的提问来源于stack exchange,提问作者grey717
相关产品推荐
相关产品推荐

