记一次服务器部分请求中断的事故。前不久,出现用户反馈有些功能大部分时候无法正常使用,只是偶尔可以正常使用。

由于反馈的是概率性问题,所以首先想到的可能是否是资源挤占,或者是用户使用时网络环境不好的情况。

尝试查找问题

接到反馈后,检查代码服务器和数据库服务器运行情况、cpu、内存、磁盘,检查进程数、连接数,数据库连接数,无异常。

检查error日志,发现并无报错。检查access日志,入网请求也正常。

只能开始从代码着手。

…………

经过排查,检查出问题,发现所有通过curl发送的http请求,均正常。然而,发送https请求时,约80%的概率会报错。报错为 curl_error : 77,查看curl错误码对照表后,翻译一下就是CURLE_SSL_CACERT_BADFILE (77) – 读取 SSL CA 证书时遇到问题(可能是路径错误或访问权限问题)

解决问题

1、查看phpinfo检查是否正常配置CA

8a80284a0eda5bd83919838468a3f3.png

2、查看ca证书地址

find / -name ca-bundle.crt

3、修改php配置

curl.cainfo = /etc/pki/tls/certs/ca-bundle.crt

2b49191f73e2dfaf18e59313aca064.png

3、重启php-fpm

systemctl restart php-fpm.service
最后修改:2024 年 11 月 20 日
如果觉得我的文章对你有用,请随意赞赏