Probleme bei GIT via HTTPS

Geplant war, meine GIT-Repos via HTTPS verfügbar zu machen, um SSH wieder abschalten zu können. Die Authentifizierung erfolgt über das Apache LDAP-Auth-Plugin. Außerdem ist HTTPS in der Regel aus Firmennetzwerken heraus nutzbar.

Jedoch gab es Probleme, die im Grunde daher stammen, dass GIT-Clients GnuTLS als SSL-Library nutzen und nicht wie so häufig das weit verbreitete OpenSSL. Während ich eine OpenSSL-Verbindung mit meinem Server herstellen konnte, schlug das bei GnuTLS grundsätzlich fehl.

Das hat sich folgendermaßen bemerkbar gemacht:

bzw. in Eclipse:

Eine im Netz häufig gefundene Lösung für den Fehler „cannot open git-upload-pack“ ist das Setzen von http.sslverify auf true, was Git anweist, nicht vertrauenswürdige Zertifikate zu ignorieren, jedoch habe ich das CA Certificate in den Key Store importiert. Das war daher nicht das Problem, weitere Lösungsansätze habe ich nicht gefunden. Generell ist „cannot open git-upload-pack“ eine Fehlermeldung, die sehr viele Ursachen haben kann.

Ich bin beim Debugging häufiger auf ähnliche Einträge gestoßen:

Die Lösung ist daher ServerName im Webserver zu setzen:

Diese Direktive muss man im SSL-VirtualHost (z.B. in der Datei /etc/apache2/sites-enabled/default-ssl.conf)  der Apache-Config setzen, damit GnuTLS den ServerName mit dem CN (CommonName) des Zertifikats vergleichen kann.

Ich hoffe, das hilft anderen…

Die allgemeine Konfiguration von GIT via HTTP wurde schon häufig im Netz beschrieben (siehe Quellen).

 

Quellen:

Ganz nebenbei auch noch entdeckt:

Verwandte Posts:

Schreibe einen Kommentar