, поэтому я новичок в веб-разработке, так голый со мной. Я получаю эту ошибку:cURL SSL-выпуск: не удается идентифицировать локального эмитента
SSL problem: can't identify local issuer
когда я вызываю функцию, чтобы сохранить изображение или получить пользователь Facebook изображения:
file_get_contents()
Что я сделал это:
- I мой сайт работает на Azure * .azurewebsites.com
- Я добавил свой пользовательский домен и сертификат ssl, которые были куплены с GoDaddy
- Я создал запрос о подписании сертификата (CSR) (который просил GoDaddy для) с помощью OpenSSL на моем Mac
- подписал его с ним и загрузить его, чтобы получить .P7B файл и файл .crt
- я добавил файл .crt в Azure и все работает отлично, мой пользовательский домен теперь имеет замок рядом с ним
таким образом, после этих шагов, войдя с Facebook получил эту ошибку и поэтому я сделал временное решение:
curl_setopt($rest, CURLOPT_SSL_VERIFYPEER, false);
Это не рекомендуется, конечно, но это allo ws меня, чтобы проверить остальную часть сайта. Ошибка все же произошла, но только при вызове file_get_contents(). Я испробовал эти исправления из того, что я видел, прочерчивая:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/cacert/cacert.pem");
Но не кубики. Может ли кто-нибудь объяснить, что такое ошибка, а также бороться с ней? Это было бы здорово. А также, это может быть связано с созданием моего запроса на подписание сертификата с OpenSSL ... не уверен. Пожалуйста подтвердите.
Спасибо!
Почему вы используете ssl pem при извлечении файла? почему бы не использовать https: // предполагается, что он уже установлен на сервере. Мне интересно, почему вы так делаете? – unixmiah
Итак, я использую Parse Server PHP SDK, я просто положил curl_setopt ($ ch, CURLOPT_CAINFO, getcwd(). "/cacert/cacert.pem"); в ParseClient.php, когда я извлекаю файл, я делаю file_get_contents ($ _FILES ['userImg'] ['tmp_name']) или file_get_contents ('https://graph.facebook.com/'. $ user ['id '].'/picture? type = large & return_ssl_resources = 1 ') – adambargh