#php #ssl #curl #self-signed-certificate
#php #ssl #curl #самозаверяющий сертификат
Вопрос:
У меня есть два локальных сервера на localhost (настроенных как контейнеры docker за прокси-сервером nginx), и я хотел бы использовать CURL на сервере A для использования API сервера B. Все они используют SSL с самозаверяющими сертификатами (также уже настроенными).
curl_setopt($request, CURLOPT_CAINFO, __DIR__ . '/../' . getenv('SERVER_B_CA_CERT'));
curl_setopt($request, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, getenv('CURL_SSL_VERIFYPEER'));
curl_setopt($request, CURLOPT_SSL_VERIFYHOST, getenv('CURL_SSL_VERIFYHOST'));
CURLOPT_SSL_VERIFYHOST и CURLOPT_SSL_VERIFYPEER имеют значение false.
Я получаю сообщение «отказано в соединении» (curl error code 7) из библиотеки curl PHP. Между моими контейнерами нет брандмауэров, и мой прокси-сервер nginx, похоже, настроен правильно. Сервер включен и прослушивает, потому что я смог подключиться к нему с помощью веб-браузера и клиента curl.
Есть идеи?
Редактировать:
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* Trying 127.0.0.1..."
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* TCP_NODELAY set"
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* connect to 127.0.0.1 port 443 failed: Connection refused"
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* Trying ::1..."
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* TCP_NODELAY set"
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* Immediate connect fail for ::1: Cannot assign requested address"
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* Trying ::1..."
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* TCP_NODELAY set"
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* Immediate connect fail for ::1: Cannot assign requested address"
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* Failed to connect to server-b.local.com port 443: Connection refused"
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "* Closing connection 0"
php_1 | [05-Mar-2019 22:49:40] WARNING: [pool www] child 66 said into stderr: "NOTICE: PHP message: CURL ERROR = Failed to connect to server-b.local.com port 443: Connection refused, CODE = 7"
Комментарии:
1. Возможно, это могло бы помочь: paragonie.com/blog/2017/10 /…