首页 » nginx » 正文

nginx net::ERR_HTTP2_PROTOCOL_ERROR 200 错误

错误描述:网站突然在Chrome浏览器或者Chrome内核的浏览器下打不开了,按F12调试发现部分资源报错net::ERR_HTTP2_PROTOCOL_ERROR,状态码又是200,表示客户端到服务器的链接是正常的,能建立正常链接
初始怀疑硬件防火墙问题,因为之前访问正常,突然访问错误,但是查询硬件防火墙并未发现任何内容拦截记录。因为是通过nginx反向代理后端nginx服务器,所以首先排除后端服务器的问题
因为是从内网穿透到公网涉及到安全问题,所以前后端服务器均采用的是https链接,并启用了http2,但是直接访问后端服务器正常,浏览器没有报任何错误,故推测错误原因应该来源于前端反代nginx服务器上。
但是此时发现个奇怪的现象,用firefox浏览器访问正常,那这个问题就应该是在Chrome浏览器浏览器上下手了
查了半天资料发现有一个解决方案,在nginx反向代理location字段加入以下内容并重启nginx服务即可解决
proxy_max_temp_file_size 0;
加入上面内容后重启nginx服务后Chrome浏览器访问正常
参考链接:
为什么需要尽快支持ALPN:
https://blog.csdn.net/nimasike/article/details/80862298
谷歌禁用http/2:
https://ma.ttias.be/day-google-chrome-disables-http2-nearly-everyone-may-31st-2016/
HTTP/2 的协议协商机制:
https://imququ.com/post/protocol-negotiation-in-http2.html
HTTP 的前世今生:一次性搞懂 HTTP、HTTPS、SPDY、HTT:
https://www.sohu.com/a/275505518_497161
Nginx 限制上传文件大小,大文件失败:
https://blog.csdn.net/air_penguin/article/details/52423263
语法:	proxy_max_temp_file_size size;
默认:	proxy_max_temp_file_size 1024m;
上下文:	http, ,serverlocation

语法:	proxy_temp_file_write_size size;
默认:	proxy_temp_file_write_size 8k|16k;
上下文:	http, ,serverlocation
proxy_max_temp_file_size 0;表示关闭缓存限制

发表评论