记一次服务器部分请求中断的事故。前不久,出现用户反馈有些功能大部分时候无法正常使用,只是偶尔可以正常使用。
由于反馈的是概率性问题,所以首先想到的可能是否是资源挤占,或者是用户使用时网络环境不好的情况。
尝试查找问题
接到反馈后,检查代码服务器和数据库服务器运行情况、cpu、内存、磁盘,检查进程数、连接数,数据库连接数,无异常。
检查error日志,发现并无报错。检查access日志,入网请求也正常。
只能开始从代码着手。
…………
经过排查,检查出问题,发现所有通过curl发送的http请求,均正常。然而,发送https请求时,约80%的概率会报错。报错为 curl_error : 77
,查看curl错误码对照表后,翻译一下就是CURLE_SSL_CACERT_BADFILE (77) – 读取 SSL CA 证书时遇到问题(可能是路径错误或访问权限问题)
解决问题
1、查看phpinfo检查是否正常配置CA
2、查看ca证书地址
find / -name ca-bundle.crt
3、修改php配置
curl.cainfo = /etc/pki/tls/certs/ca-bundle.crt
3、重启php-fpm
systemctl restart php-fpm.service