下载自研的 exe 安装包,Chrome 底部提示此文件可能会损害您的计算机,Edge 直接拦下来,用户不敢点,实际文件签名正常。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,响应头统一写 application/octet-stream,浏览器无法识别来源,按未知二进制处理并给出警告。文件也没有做代码签名。
「下载文件 MIME 类型」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
location ~* \.exe$ {
add_header Content-Type application/x-msdownload;
}
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
改完隔一天再看一次,当场正常不代表能稳住。
具体做法是,按扩展名给出准确 Content-Type,exe 用 application/x-msdownload;给安装包做代码签名,减少拦截提示;换三个浏览器各下载一次,确认提示消失或降级。
最后用这个标准收尾,Chrome 不再弹出危险文件提示,下载后可直接运行。
