2017-09-06 2 views
0

Ubuntu zu erhalten: 15,04Laravel: Kräuseln Fehler 60: SSL-Zertifikat nicht in der Lage den lokalen Aussteller-Zertifikat

Laravel: 5.4.32

GuzzleHttp \ Guzzle: ~ 6,0

Hallo zusammen

I habe den folgenden Fehler, wenn ich versuche, ein Passwort mithilfe der integrierten Authentifizierung von Laravel zurückzusetzen. Wenn ich meine E-Mail eingeben und drücken setze ich bekommen ...

GuzzleHttp\Exceptions\RequestException cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

ich diesen Fehler gegoogelt haben und es von allem, was ich gelesen habe, habe ich folgendes probiert, haben alle nicht funktioniert ...

  • Ran phpinfo() die richtige php.ini
  • aktualisiert die curl.cainfo php.ini Einstellungen "/etc/ssl/certs/cacert.pem"
  • Aktualisiert die curl zu finden. Kainfo p hp.ini Einstellungen "/etc/ssl/certs/ca-certificated.crt"
  • die openssl.cafile php.ini Einstellungen aktualisiert auf "/etc/ssl/certs/cacert.pem"
  • die openssl Aktualisiert .cafile php.ini Einstellungen "/etc/ssl/certs/ca-certificated.crt"

nach jedem I apache neu gestartet haben, aber hat nichts funktioniert.

Ich habe auch lief var_dump(openssl_get_cert_locations()); das gab mir die folgende ...

[ 
    "default_cert_file" => "/usr/lib/ssl/cert.pem", 
    "default_cert_file_env" => "SSL_CERT_FILE", 
    "default_cert_dir" => "/usr/lib/ssl/certs", 
    "default_cert_dir_env" => s"SSL_CERT_DIR", 
    "default_private_dir" => "/usr/lib/ssl/private", 
    "default_default_cert_area" => "/usr/lib/ssl", 
    "ini_cafile" => "/etc/ssl/certs/ca-certificates.crt", 
    "ini_capath" => "/etc/ssl/certs" , 
] 

Kann mir jemand ein paar Ideen zu versuchen? Was vermisse ich?

Dank

Antwort

4

hinzufügen cacert.pem Datei in Ihrem Projekt, Download-Datei von

https://curl.haxx.se/ca/cacert.pem

Kopie, die das Zertifikat in Ihrem /vendor/guzzlehttp/guzzle/src Ordner heruntergeladen. Änderungsdatei Client.php die Funktion getDefaultOptions() mit diesem

ersetzen $settings Array genannt finden,

$settings = [ 
     'allow_redirects' => true, 
     'exceptions'  => true, 
     'decode_content' => true, 
     //'verify'   => true 
     'verify'   => dirname(__FILE__).'/cacert.pem', 
]; 

was ich tat, ist die heruntergeladene Datei Konfiguration hinzugefügt Verifizieren, änderte nur den Wert für verify.

wenn Sie wollen curl Anfrage senden insecurely können Sie SSL-Zertifikatprüfung deaktivieren, durch verify => false

Warnung Einstellung: Dies macht die Anforderung absolut unsicher

+0

Danke dafür, ich bekam immer noch den Fehler, wenn ich 'dirname (__ FILE __). '/ Cacert.pem'', zum Verify-Schlüssel. Es hat funktioniert, als ich es von wahr zu falsch geändert habe, aber ich möchte das nicht wirklich machen, also brauche ich eine andere Arbeit. – bencarter78

+0

Was ist ein Fehler? und können Sie sehen, was 'dirname (__ FILE __)' widergibt? Überprüfen Sie den Pfad der Datei ist richtig oder nicht – Webinion

+0

Ich habe Client.configureDefaults() geändert, da ich getDefaultOptions() nicht finden konnte und das für mich arbeitete. War das sicher zu tun? – altoids

0

Das Problem der IT-Abteilung entpuppte hatte Die Firewall wurde aktualisiert, was den Server irgendwie daran gehindert hat, Anfragen zu stellen (dies ist das Gegenteil von dem, was sie mir zum Zeitpunkt der Veröffentlichung der Frage gesagt haben). Sobald es wieder erlaubt war, Anfragen zu stellen, funktionierte es.

Verwandte Themen