Gitlab-CI-Runner: Umgehen der selbstsignierten Zertifikatsüberprüfung
Bei der Registrierung eines Gitlab-CI-Multi-Runners können Fehler auftreten zur Zertifikatsvalidierung, wie zum Beispiel:
couldn't execute POST against https://xxxx/ci/api/v1/runners/register.json: Post https://xxxx/ci/api/v1/runners/register.json: x509: cannot validate certificate for xxxx because it doesn't contain any IP SANs
Dieses Problem tritt auf, wenn der Gitlab-Server ein selbstsigniertes Zertifikat vorlegt Zertifikat ohne IP Subject Alternative Names (SANs). Um die Zertifikatsvalidierung zu umgehen, können Sie bei der Registrierung des Runners die Option --tls-ca-file verwenden.
gitlab-runner register --tls-ca-file=/path/to/certificate.crt [other options]
Wobei /path/to/certificate.crt der absolute Pfad zum selbstsignierten Zertifikat ist Datei. Alternativ können Sie die Zertifikatsüberprüfung vollständig deaktivieren, indem Sie --tls-disable-verify auf „true“ setzen. Dies wird jedoch nicht empfohlen, da dies die Sicherheit Ihres Runners gefährden kann.
gitlab-runner register --tls-disable-verify=true [other options]
Wenn Sie nicht der Administrator sind des Gitlab-Servers, aber für die Verwaltung des Runner-Servers verantwortlich sind, können Sie das Zertifikat mit den folgenden Befehlen vom Gitlab-Server abrufen:
SERVER=gitlab.example.com PORT=443 CERTIFICATE=/etc/gitlab-runner/certs/${SERVER}.crt sudo mkdir -p $(dirname "$CERTIFICATE") openssl s_client -connect ${SERVER}:${PORT} -showcerts </dev/null 2>/dev/null | sed -e '/-----BEGIN/,/-----END/!d' | sudo tee "$CERTIFICATE" >/dev/null
Sobald Sie das erhalten haben Zertifikat können Sie den Runner wie zuvor beschrieben mit der Option --tls-ca-file registrieren.
Beachten Sie, dass diese Methode aufgrund eines Fehlers in Gitlab-Runner Version 1.11 möglicherweise nicht für benutzerdefinierte CA-signierte Zertifikate funktioniert .2. Wenn Probleme auftreten, wird empfohlen, auf eine neuere Version von gitlab-runner zu aktualisieren.
Das obige ist der detaillierte Inhalt vonWie behebt man Fehler bei der Validierung selbstsignierter Zertifikate von GitLab-CI Runner?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!