我有一个产品和一个测试服务器。然后我有一个第三方程序和一个测试和生产环境。
测试是结合在一起的,生产是结合在一起的。
第三方生产服务器有一个DigiCert Global Root G2,测试服务器有一个DigiCert Global Root CA。
我的服务器共享环境配置和,这两个证书在/etc/ssl/certs中都是。
我用GuzzleHttp来称呼它。
$client = new Client([
'base_uri' => 'www.example.com',
]);
$data = [
'json' => $jsonData
'expect' => false,
'auth' => [username, password, basic]
];
$client->request('POST', 'api/endpoint1', $data);生产服务器工作正常,但测试服务器抛出错误cURL error 60: SSL certificate: unable to get local issuer certificate。
有一个证书链(不确定这是如何工作的):
0 s:/CN=www.example.com
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=RapidSSL RSA CA 2018
1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=RapidSSL TLS RSA CA G1
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root G2发布于 2019-05-07 09:23:57
问题是第三方对证书有问题。修好后一切都好了。因此,不需要更新已经正确的证书(问题中已经写入的证书)。
https://stackoverflow.com/questions/56008457
复制相似问题