ngixn异常 net::ERR_HTTP2_PROTOCOL_ERROR 200

先看页面报错页面报错实例:

再描述下现象:不是一个接口报上面的错误,多个接口多次调用都会偶现上面的问题:net::ERR_HTTP2_PROTOCOL_ERROR 200

所以基本断定不是单个接口 或 数据库的问题,因为我们用了四台nginx做负载均衡和转发,所以基本断定是nginx出了问题,但是是nginx中的哪台机器的什么原因导致的呢?

下面给出2中定位策略:

1)在每次页面有错误的时候,观察http中的header信息,统计每次header中via标签对应的nginx信息。此方法可以得出出问题的nginx。

如下图:

 

2)夜深人静,没有别人调用服务,自己进行调用,分别查看每台nginx服务的日志文件,看出问题的时候哪个机器会有error信息,这里给出我的机器错误日志:

2020/07/13 11:45:52 [error] 20217#0: *85294045 open() "/usr/local/nginx-1.18/html/50x.html" failed (2: No such file or directory), client: 100.97.200.204, server: www.test.com, request: "POST /api/core/scratch/exercise/ HTTP/1.1", host: "www.test.com", referrer: "https://www.test.com/scratch/v3/?token=aee00163e0b79bf004a0001&projectType=1&practiceType=2&lesson=0172cd54dad800163e0b79bf004a0001&class=7712bc6db96f48febccafe008d9869a1&templateId=65032&category=2&role=1&fr=ts&canSave=1&isOnline=0"

此方法可以得出错误的具体原因,我这里看上面的原因就是文件不存在,无法打开文件。

然后与运维沟通发现nginx今天做了升级,但是仅仅reload,没有进行重启,所以缓存的一些信息导致的问题,解决方案就是运维重启下nginx就好了。

这里给一个nginx重启和reload的差别的文章:

https://www.cnblogs.com/fanggege/p/12145956.html

 

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值