Serwer proxy HTTPS używany przez Git może wymagać własnego certyfikatu klienta
Skonfiguruj CA TLS serwera proxy, certyfikat klienta i klucz prywatny oddzielnie od ustawień TLS i logowania HTTP repozytorium.
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.
| Ustawienie | Rola |
|---|---|
| proxySSLCAInfo | Pakiet CA używany do weryfikacji serwera proxy HTTPS |
| proxySSLCert | Certyfikat klienta przedstawiany temu serwerowi proxy |
| proxySSLKey | Klucz prywatny pasujący do certyfikatu klienta |
| proxySSLCertPasswordProtected | Włą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.