http通过range下载文件,错误net::ERR_CONTENT_LENGTH_MISMATCH
代理缓存
首先,查看代理的缓存是否过小;如果过小, nginx 的 http 节点,可以设置后为
1 | proxy_buffer_size 128k; |
Range 转发
Nginx 向后端服务器请求的时候是不会把 Range 参数加上的,而是会去请求整个文件,比方说有一个 1G 的文件,每次请求 1M,Nginx 会在每次请求的时候去后端请求一个完整的 1G 文件,然后取出其中的 1M 发给客户端,这个时候中间的流量会暴增,导致整个服务器宕机。
1 | proxy_set_header Range $http_range; |