Dajte Gitu rôzne pravidlá proxy pre rôzne hosty
HTTP konfigurácia Gitu špecifická pre URL môže udržať vnútornú službu priamu a zároveň zachovať proxy inde. Skontrolujte výsledok zhody pre presnú URL.
Jedna konfigurácia Gitu môže obsluhovať dve úplne odlišné trasy: externý host dosiahnutý cez schválenú proxy a interný host dosiahnutý priamo. Nemusíte pri každom prepnutí repozitára upravovať globálnu predvolenú hodnotu.
Git podporuje HTTP konfiguráciu špecifickú pre URL. Napríklad:
[http]
proxy = http://proxy.example:8080
[http "https://git.office.example/"]
proxy =
Pre externý verejný repozitár, kde sú verejné proxy povolené, ponúka zoznam HTTP proxy kandidátov pre predvolený koncový bod. Prázdna hodnota je výslovné prepísanie pre zodpovedajúcu URL. Líši sa od vymazania toho konkrétnejšieho kľúča, čo môže znova odhaliť všeobecnú proxy.
Zlaďte URL, ktorú Git používa
Schéma, názov hostiteľa, port, cesta a voliteľné používateľské meno sa zúčastňujú na dokumentovaných pravidlách zhody. Neberte podsekciu URL ako všeobecný výraz so zástupnými znakmi shellu. Užšie pravidlo cesty môže poraziť širšie pravidlo hostiteľa.
Pre pohľad iba na čítanie na zodpovedajúcu konfiguráciu proxy:
git config --get-urlmatch http.proxy https://git.office.example/team/project.git
Toto kontroluje zhodu konfigurácie. Nie je to sieťový test a nepreukazuje, že trasa je dosiahnuteľná. Zohľadnite aj ďalšie rozsahy konfigurácie a príslušné nastavenia prostredia.
Presmerovanie nie je nová zhoda konfigurácie
Dokumentácia Gitu hovorí, že zhodujúce sa URL sú tie, ktoré sa odovzdávajú priamo príkazom Gitu; URL navštívené kvôli presmerovaniu sa tejto zhody nezúčastňujú. Majte toto obmedzenie na pamäti, ak prvý hostiteľ presmeruje stahovania inam.
Trasa by mala zodpovedať aj transportu. SSH vzdialený repozitár sa neriadi podsekciou HTTP URL len preto, že tá istá služba ponúka web HTTPS.
Použite niekoľko zámerných pravidiel a potom skontrolujte výsledok pre reprezentatívne URL. Dlhé hromadenie globálnych, v repozitári miestnych a na URL špecifických položiek proxy je oveľa ťažšie pochopiteľné než sieťový rozdiel, ktorý ste sa snažili vyjadriť.