谷歌浏览器出现ERR_EMPTY_RESPONSE的错误,导致文件无法下载。
使用tornado作为后端处理,中间部署了nginx,提供了一个功能,是点击button后从页面获取到数据作为SQL参数,查询并生成xls文件,然后把文件路径名返回前端,再通过虚拟form提交下载请求,这个过程中出现了问题,在处理过程使用了相对路径作为参数(…/file/)。
一开始是没有问题的,本地测试和部署上服务器本地再测试都能正常下载,但是经过其他客户(外省市)使用的过程中,发现不能下载,会出现ERR_EMPTY_RESPONSE的错误,经过多次debug,确定能够接受第一次请求和查询的参数,但是再路径请求的时候服务器端没有接收到请求,导致前端出现了服务器没有响应的错误。
在网上搜索了很多关于ERR_EMPTY_RESPONSE的处理,都没有用,但是有一个处理过程引起我的思考(https://blog.csdn/qq_28643437/article/details/85061320),虽然我们遇到的问题不一样,但是“**请求参数里面不能有SQL语法中的关键敏感词,否则,服务器之间驳回了你的请求!”这句话提醒了我,会不会是我的参数(路径名)出现了某些会被路由器、网关或者防火墙拦截、编码错误的问题呢。
将路径更换为绝对路径,或者不带上级路径(…/)的情况下,原来异常的网络环境也能能够正常下载。
更多推荐
浏览器显示ERR_EMPTY_RESPONSE的一些BUG
发布评论