记一次 谷歌浏览器 ERR_HTTP2_PROTOCOL_ERROR 错误处理总结

《记一次 谷歌浏览器 ERR_HTTP2_PROTOCOL_ERROR 错误处理总结》

博主的情况如下 :使用cloudflare的cdn功能 , 在tengine上是使用反向代理的,但问题就来了,在使用谷歌浏览器的情况下会出现ERR_HTTP2_PROTOCOL_ERROR , 但在使用火狐浏览器的情况下却不会有这种情况,这到底是为什么,反复在网上找资料反复测试和反复思考

经过一整天的测试和总结 ,造成两种差异是因为浏览器对http2处理的模式不一样!

本想着,如果火狐能正常显示就算了,那就不管了,蒙混过关算了,但后面发现,uc跟chrome是使用一样的模式,这就。。。这就没办法了, 只能硬着头皮找原因了,…. 探索的道路其修远兮,唉,花了整整一天的时间攻克这个难题😂🤣🤣😂泪目….

至于如何搭建https 可以参考这篇文章:使用Let’s Encrypt生成SSL通配符证书

感觉网上的文章都是一大抄,都是垃圾,很多根本就没有实践过的,就不要发出来给人看了,浪费人的时间,每次找资料我都很讨厌这种没有实践过的人,废话不说了,言归正传!

解决方法

先说火狐,火狐之所以能显示,我想大概是因为火狐遵循不严格的模式!

而与之相反,chrome则使用的是非常严格的模式,header!!

博主的问题总结下来是:因为header含有特殊字符,造成chrome没法解释,例如:

----------------------------------------------------
"Etag ":"W/"a-QFZ79AprHeNlMfPMKXyEUV+lyOg", 
----------------------------------------------------

大家能看出有什么问题吗?其实就是字母g后面多了个空格…
然后chrome直接就抛出“ ERR_HTTP2_PROTOCOL_ERROR ”,😨
汗呀,汗呀,汗呀,这么严格的吗?是的,就是这么严格,😓
今天是2020-11月-21日,新的就是这么严格,而uc也跟了,🙄
没有办法,只能改了,改好之后,一切正常!😁

像那种什么 proxy_max_temp_file_size 0; 都是垃圾!都是骗人的,根本没用!🤢🤢🤢

还有像什么改chrome浏览器设置的,那能从根本上解决问题吗?出这种主意,而且我也试了,也是无效的,坑人不浅呐!😒

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注