У меня есть производственный и тестовый сервер.Затем у меня есть сторонняя программа с тестами и производственной средой.
Тесты связаны друг с другом, а производства связаны друг с другом.
У стороннего рабочего сервера есть 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
- Мне нужно выяснить, чья это вина - моя или сторонняя организация?
- Как это можно исправить?