Heim >Backend-Entwicklung >Golang >Warum schlägt „go get' in einem Docker Go-Image mit „x509: von unbekannter Stelle signiertes Zertifikat' fehl?

Warum schlägt „go get' in einem Docker Go-Image mit „x509: von unbekannter Stelle signiertes Zertifikat' fehl?

DDD
DDDOriginal
2024-11-30 15:56:15181Durchsuche

Why Does `go get` Fail in a Docker Go Image with

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:

  1. Laden Sie das Zertifikat vom Cisco Umbrella herunter Root-CA-Website: https://www.cisco.com/security/pki/certs/ciscoumbrellaroot.cer
  2. Konvertieren Sie die .cer-Zertifikat in .crt-Format mit OpenSSL:

    openssl x509 -inform DER -in ciscoumbrellaroot.cer -out ciscoumbrellaroot.crt
  3. Kopieren Sie das .crt-Zertifikat in den Zertifikatsordner:

    cp ciscoumbrellaroot.crt /usr/local/share/ca-certificates/ciscoumbrellaroot.crt
  4. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn