Niektóre proxy przekazujące HTTPS żądają certyfikatu klienta podczas połączenia TLS z Git do serwera proxy. To odrębna wymiana uwierzytelniająca, niezależna od logowania do repozytorium.

Dla zgodnego backendu TLS Git/libcurl korzystającego z plików PEM odpowiednia konfiguracja wygląda tak:

[http]
    proxy = https://proxy.example:8443
    proxySSLCAInfo = /secure/proxy-ca.pem
    proxySSLCert = /secure/proxy-client.pem
    proxySSLKey = /secure/proxy-client.key
    proxySSLCertPasswordProtected = true

Użyj rzeczywistych plików dostarczonych dla konfiguracji TLS serwera proxy. Zastosuj konfigurację w zamierzonym zakresie Git; konfiguracja na poziomie repozytorium może ograniczyć tę trasę do tego checkoutu.

UstawienieRola
proxySSLCAInfoPakiet CA używany do weryfikacji serwera proxy HTTPS
proxySSLCertCertyfikat klienta przedstawiany temu serwerowi proxy
proxySSLKeyKlucz prywatny pasujący do certyfikatu klienta
proxySSLCertPasswordProtectedWłącza pytanie Git o hasło do chronionego materiału certyfikatu i klucza serwera proxy

Adres URL serwera proxy https:// jest niezbędny dla tej wymiany TLS. Zwykłe proxy HTTP przenoszące CONNECT do repozytorium HTTPS nie wykonuje przez to uwierzytelniania certyfikatem klienta TLS na własnym gnieździe nasłuchu.

Zaufanie do certyfikatów repozytorium oraz ewentualny certyfikat klienta repozytorium mają własną konfigurację ssl. Podobnie wyzwanie proxy HTTP z użyciem Proxy-Authenticate to inny mechanizm uwierzytelniania.

Utrzymując tę konfigurację, sprawdź powiązaną wersję libcurl, backend TLS i obsługiwany format certyfikatu. Ścieżka do certyfikatu PEM nie jest przenośnym zamiennikiem każdego interfejsu magazynu certyfikatów platformy.

Powiązane artykuły