wordpress - WP - 对外部 API 的 cURL 调用停止工作 - cURL 错误 60:SSL 证书问题:证书已过期
问题描述
我在一个一直工作到上周五的 WP 网站上使用 cURL 创建了一些“基本”API 调用。
从那时起,我收到此错误消息。错误 n:60,错误:SSL 证书问题:证书已过期。
现在我刚刚检查了https://www.ssllabs.com/ssltest/analyze.html?d=ombri-immo.lu (ombri-immo.lu 是网站的域名)并且证书仍然有效。
(为了彻底,我有两个网站调用相同的 API 并返回相同的错误)
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'https://middleware-production.easy2pilot-v8.com/api/***/token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYPEER, false,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_POSTFIELDS =>'{
"login": "**",
"password": "**"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json;charset=UTF-8'
),
));
$response = curl_exec($ch);
echo 'GETINFO: ' . curl_getinfo($ch) . '<br/>';
echo curl_errno($ch) . '<br/>';
echo 'CURL ERROR: ' . curl_error($ch) . '<br/>';
curl_close($ch);
echo $response;
这是调用的代码。凭据工作正常,因为我在 Postman 上对其进行了测试,一切都很好。
我已经阅读了很多帖子,其中大多数都建议在服务器端触摸一些东西,我无法访问也没有关于功能的知识,我理所当然地认为是域提供者 (OVH) 负责处理该问题。
此外,我并不完全负责该项目,并且知道 WordPress 不是最新的(希望这将在明天发生并修复所有问题:))而且我注意到安装在服务器上的 curl 版本是旧的(我再次联系了经销商并要求他更新。
是否有人对尝试的事情有任何建议,或者例如域和服务器提供商是否应该能够解决这个问题?
感谢您花时间阅读这篇文章。
解决方案
我可以看到的问题是您的 CA 捆绑包在 ombri-immo.lu 域中不正确,因此必须对其进行更新。
证书链:证书链不验证。
此证书由 R3 CA 捆绑包颁发。
-----BEGIN CERTIFICATE-----
MIIEZTCCA02gAwIBAgIQQAF1BIMUpMghjISpDBbN3zANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTIwMTAwNzE5MjE0MFoXDTIxMDkyOTE5MjE0MFow
MjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxCzAJBgNVBAMT
AlIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuwIVKMz2oJTTDxLs
jVWSw/iC8ZmmekKIp10mqrUrucVMsa+Oa/l1yKPXD0eUFFU1V4yeqKI5GfWCPEKp
Tm71O8Mu243AsFzzWTjn7c9p8FoLG77AlCQlh/o3cbMT5xys4Zvv2+Q7RVJFlqnB
U840yFLuta7tj95gcOKlVKu2bQ6XpUA0ayvTvGbrZjR8+muLj1cpmfgwF126cm/7
gcWt0oZYPRfH5wm78Sv3htzB2nFd1EbjzK0lwYi8YGd1ZrPxGPeiXOZT/zqItkel
/xMY6pgJdz+dU/nPAeX1pnAXFK9jpP+Zs5Od3FOnBv5IhR2haa4ldbsTzFID9e1R
oYvbFQIDAQABo4IBaDCCAWQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E
BAMCAYYwSwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5p
ZGVudHJ1c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTE
p7Gkeyxx+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEE
AYLfEwEBATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2Vu
Y3J5cHQub3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0
LmNvbS9EU1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYf
r52LFMLGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0B
AQsFAAOCAQEA2UzgyfWEiDcx27sT4rP8i2tiEmxYt0l+PAK3qB8oYevO4C5z70kH
ejWEHx2taPDY/laBL21/WKZuNTYQHHPD5b1tXgHXbnL7KqC401dk5VvCadTQsvd8
S8MXjohyc9z9/G2948kLjmE6Flh9dDYrVYA9x2O+hEPGOaEOa1eePynBgPayvUfL
qjBstzLhWVQLGAkXXmNs+5ZnPBxzDJOLxhF2JIbeQAcH5H0tZrUlo5ZYyOqA7s9p
O5b85o3AM/OJ+CktFBQtfvBhcJVd9wvlwPsk+uyOy2HI7mNxKKgsBTt375teA2Tw
UdHkhVNcsAKX1H7GNNLOEADksd86wuoXvg==
-----END CERTIFICATE-----
您可以在ssllabs -> Certification Paths -> Select any Mozilla|Apple|Android|Java|Windows
-> Path #2: Not trust (invalid certificate [Fingerprint SHA256: 0687260331a72403d909f105e69bcf0d32e1bd2493ffc6d9206d11bcd6770739]) -> 4 在信任库中确认
DST Root CA X3 Self-signed
Fingerprint SHA256: 0687260331a72403d909f105e69bcf0d32e1bd2493ffc6d9206d11bcd6770739
Pin SHA256: Vjs8r4z+80wjNcr1YKepWQboSIRi63WsWXhIMN+eWys=
RSA 2048 bits (e 65537) / SHA1withRSA
Valid until: Thu, 30 Sep 2021 14:01:15 UTC
EXPIRED
Weak or insecure signature, but no impact on root certificate
推荐阅读
- android - Android: visual hints for the user
- python - 带有 for-in 循环的列表的 n 个元素的总和
- reactjs - 包含通过使用 Redux 的渲染道具子项中的更改重新渲染的提供程序
- java - 在 Jbutton 单击时创建对象
- python - 在 python 中抓取和填充 JSON 时出错/使用 python debug pdb
- html - Google Apps 脚本:withSuccessHandler 在不运行 google.script.run.myFunction() 的情况下运行
- css - 子导航
- 为 100% 和下拉的位置变化
- mysql - systemctl 状态 mariadb.service
- java - 假设没有提交的更改,我如何获得项目的 git 版本?
- swift - MacOS:在 Swift 中为图像添加文本覆盖