Laravel Homestead: Как исправить ошибку «cURL 60: проблема с сертификатом SSL» - PullRequest
0 голосов
/ 13 июня 2019

Я настраиваю новый Laravel 5.8 Homestead с VirtualBox, все в порядке, кроме curl, которое дает мне

'ошибка cURL 60: проблема с сертификатом SSL'

при использовании клиента Guzzle.(Я не хочу игнорировать ssl)

Есть идеи?Большое спасибо

Я пытался заменить:

curl.cainfo = /etc/ssl/certs/ca-certificates.crt 

на

curl.cainfo = /etc/ssl/certs/cacert.pem

, скачанный с https://curl.haxx.se/ca/cacert.pem

в / etc / php /7.3 / fpm / php.ini (а также 7.1, 7.2)

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Проверьте, не использует ли веб-сайт пользовательский сертификат SSL.

Попробуйте открыть сертификаты в chrome и экспортировать все сертификаты и добавить их в пользовательские custom.pem

Затем используйте его с Guzzle следующим образом:

$client = new Guzzle\Http\Client();
$client->setDefaultOption('verify', '/path/to/custom.pem');

Теперь это может работать!

Вы также можете загрузить сертификат с помощью команды openssl , но в моем случае это не тот сертификат. Поэтому мне пришлось загрузить их вручную.

Надеюсь, это поможет!

Более подробно вы можете посетить этот выпуск

0 голосов
/ 13 июня 2019

Хорошо, проблема, кажется, решена.Для тех, у кого такая же проблема:

Когда вы пытаетесь свернуть свои локальные веб-сайты через https, curl проверяет, существует ли сертификат в /etc/ssl/certs/ca-certificates.crt, очевидно, это не так.Существовать.

Вы должны открыть файл сертификата, сгенерированный вашим Homestead.yaml с помощью vim (или cat), расположенного в:

/etc/nginx/ssl/ca.homestead.homestead.crt

, и скопировать содержимое в конце файла по умолчанию.-certificate.crt, расположенный в

/etc/ssl/certs/ca-certificates.crt 

Вполне нормально, что по умолчанию ca-certificate.crt не содержит ваших личных сертификатов.

Вот и все!

...