原因:
官网解释为:err_content_length_mismatch
:错误的内容长度不匹配(请求的Heather 里content-length长度与返回的content-length不一致)
问题截图:
分析:
由截图可见,
静态资源加载错误,
提示err_content_length_mismatch,经排查,网络页签显示状态码为200,nginx也进到了access日志。
解决:
检查nginx配置项时问题浮现;
keepalive_timeout 60;
client_header_timeout 60;
client_body_timeout 60;
reset_timedout_connection on;
send_timeout 0;
keepalive_timeout: 指定了与客户端的 keep-alive 链接的超时时间。服务器会在这个时间后关闭链接。我们会降低这个值,以避免让 worker 过长时间的忙碌。
client_header_timeout 和 client_body_timeout: (分别)设置了请求头和请求体的超时时间。这个值也应该设置得较低。
reset_timedout_connection : 告诉 nginx 当客户端失去相应时关闭链接。这将会释放为该客户端分配的所有内存。
send_timeout: 指定了响应客户端的超时时间。这个时间并不是指整个传输时间,而是在客户端两次读操作之间的间隔。如果客户端在这个时间内没有准备好再次读取数据,nginx 会关闭链接。
最终迷惑我的是send_timeout这个参数,我本以为设置为0,就代表不限制超时时间,后来尝试性的将send_timeout更改为 60 (单位为秒)
问题解决