记一起因证书引发的支付宝支付异步通知接收不到的事故

目录

  • 1.事故还原
  • 2.排查过程
  • 3.疑问
  • 4.支付宝技术客服解答
  • 5.解决方法

1.事故还原

客服反馈有用户使用支付宝支付后,订单状态没有改变。

2.排查过程

  1. 查看日志,发现没有收到异步通知。
  2. 排查代码是否改动,但git log显示没有改动提交。
  3. 排查支付宝各配置项、partner_id、公私钥等是否有变化或过期,结果正常。
  4. 排查同步、异步通知网络状况,可正常访问。
  5. 最后通过支付宝管理后台通知日志查询得知,异步通知请求失败,状态码0,返回null。

3.疑问

通过浏览器访问异步通知地址,状态200,有返回。为何支付宝异步通知显示失败?

4.支付宝技术客服解答

失败原因:异步通知地址域名证书有问题。

5.解决方法

  1. 通过 域名证书查询地址 查询通知域名,发现被降级至B,降级原因:证书链不完整。
  2. 按照 缺少证书链的问题和解决方法 ,重新将完整证书 pem 内容替换现有内容。
  3. 重启 nginx ,收到异步通知,恢复正常。

你可能感兴趣的:(Nginx,PHP,ca证书,支付宝,通知,nginx,php)