Heim >Backend-Entwicklung >Golang >Warum schlägt „go get' in einem Docker Go-Image mit „x509: von unbekannter Stelle signiertes Zertifikat' fehl?
Docker Go-Image: „Go Get“-Fehler aufgrund von „x509: Zertifikat von unbekannter Stelle signiert“
Beim Versuch, ein Paket zu installieren Wenn Benutzer „go install“ in einem Docker Go-Image verwenden, kann es zu der Fehlermeldung „x509: Zertifikat signiert von unbekannter Stelle“ kommen. Dieses Problem tritt auf, weil dem Docker-Image das erforderliche CA-Zertifikat fehlt, um die Vertrauenswürdigkeit der Zertifizierungsstelle zu überprüfen, die die Anfrage signiert.
Fehlerbehebung:
Ein häufiger Übeltäter ist die Verwendung von Sicherheitsclients wie Cisco AnyConnect „Umbrella“. Diese Clients fungieren oft als Man-in-the-Middle und signieren Anfragen mit ihrem eigenen Zertifikat neu. Um das Problem zu beheben, muss das Image Zugriff auf das Zertifikat „Cisco Umbrella Root CA“ haben.
Lösung:
Konvertieren Sie die .cer-Zertifikat in .crt-Format mit OpenSSL:
openssl x509 -inform DER -in ciscoumbrellaroot.cer -out ciscoumbrellaroot.crt
Kopieren Sie das .crt-Zertifikat in den Zertifikatsordner:
cp ciscoumbrellaroot.crt /usr/local/share/ca-certificates/ciscoumbrellaroot.crt
Zertifikate aktualisieren:
update-ca-certificates
Durch Befolgen dieser Schritte wird der Docker Das Image erhält Zugriff auf die erforderlichen Zertifikate, was eine erfolgreiche Installation von Paketen mit „go get“ ermöglicht.
Das obige ist der detaillierte Inhalt vonWarum schlägt „go get' in einem Docker Go-Image mit „x509: von unbekannter Stelle signiertes Zertifikat' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!