首页 > 编程知识 正文

HTTP2_PROTOCOL_ERROR , -337,java脚本错误

时间:2023-05-04 00:00:32 阅读:136639 作者:1757

背景:当联机系统使用域名访问前端项目时为空,控制台报告了错误。

火狐浏览器:脚本加载到“https://www.ABC.com/static/js/chunk-libs.176 e403 f.js”失败

这实际上没有提供任何有用的信息。 我换一下浏览器。

Edge浏览器: net :3360 err _ http2_ protocol _ error 200

这个错误有点意思呢。 提示是有关HTTP2的问题。

网上查了下发现会有不同的原因导致这个错误信息,我这里的解决方案并不是普适的,但是确实解决了我的问题,真正重要的是要冷静分析,这个分析的过程才重要。

Note: 部署架构是这样的:域名所在的服务器A通过内网IP代理了另一台服务器B(也具有公网IP),这个前端服务部署在服务器B上。

要分析原因并尝试重新启动Nginx吗?

其实,这个时候,应该首先冷静下来;重启是一个选项,但应该作为不得已的一个选择在仔细调查分析后无法确定问题原因的情况下,可以进行重启操作。

有必要确定几个问题:

Nginx的配置更改了吗? 如果Nginx配置更新,是否重新加载并启用了? Nginx的版本曾经很被动吗? (在nginx -V上查看nginx版本信息和http2相关模块)最近有新功能引入吗? HTTPS证书过期了吗? (HTTP2要求在SSL上工作) )确认后,发现上述问题的回答都是否定的。 很明显,在线服务的运用环境发生了变化。

因为运行环境发生了变化,所以首先检查了主机的各个指标。 CPU、内存、磁盘等。 当df -h查看磁盘空间时,问题就暴露出来了。 磁盘已破裂(^ () )。

那么,为什么磁盘会破裂呢? 因为是与Nginx相关的问题,所以第一步需要检查Nginx的错误日志。

#nginx错误日志vi /var/log/nginx/error.log以下是nginx错误日志提供的错误消息的一部分,重要信息为(28: No space left on device),没有空格

2021/11/2411336010336008 [ crit ] 23967 # 0: * 82293762 pwritev (“/var/lib/nginx/tmp/proxy/2/32/32”) 0000543322”故障(28: nospaceleftondevice ) while reading upstream,client: 110.179.80.101, server 3360 www.aaar request :“get/static/js/app.5033 a65a.js http/2.0”,upstream 3360“http://192.168.0.0.0.0.0.0.0”0

由于未启用解决问题的数据磁盘,此主机上的服务用户数量也不多,当前所有服务都在系统盘上运行。 那么,请整理一些服务日志,留出空间。

问题总论基础设施监视的重要性,现在可以进行Prometheus监视警报了。 以上排查结果表明,造成这个问题的原因并不那么重要,反而更重要的是分析这个问题的过程。 这就像我们看到lldst入住b站开始破解那年的魔术,知道真相的我们一开始有点失望。 原来就这么简单啊~~。

电影《致命魔术》中,“魔术的秘密没什么大不了的。 变成魔术的技术才是重要的”。

这是因为,在众多网友观看lldst视频后,——原理并不是魔术的精髓,表演才是最大的情感。

一旦了解了真正的魔术精神,魔术的秘密就变得无关紧要了。 一起学习~

If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。