Дайте Git різні правила проксі для різних хостів
HTTP-конфігурація Git для конкретних URL може залишити внутрішній сервіс прямим, зберігши проксі в іншому місці. Перевірте результат зіставлення для точного URL.
Одна конфігурація Git може обслуговувати два зовсім різні маршрути: зовнішній хост, доступний через схвалений проксі, і внутрішній хост, доступний напряму. Вам не потрібно щоразу редагувати глобальне значення за замовчуванням при зміні репозиторію.
Git підтримує HTTP-конфігурацію для конкретних URL. Наприклад:
[http]
proxy = http://proxy.example:8080
[http "https://git.office.example/"]
proxy =
Для зовнішнього публічного репозиторію, де дозволені публічні проксі, список HTTP-проксі пропонує кандидатів для кінцевої точки за замовчуванням. Порожнє значення — це явне перевизначення для відповідного URL. Воно відрізняється від видалення того конкретнішого ключа, що може знову відкрити загальний проксі.
Зіставте URL, який використовує Git
Схема, ім'я хоста, порт, шлях і необов'язкове ім'я користувача беруть участь у задокументованих правилах зіставлення. Не розглядайте підрозділ URL як загальний вираз із символами підстановки оболонки. Вужче правило шляху може перемогти ширше правило хоста.
Для перегляду відповідної конфігурації проксі лише для читання:
git config --get-urlmatch http.proxy https://git.office.example/team/project.git
Це перевіряє зіставлення конфігурації. Це не мережевий тест і не доводить, що маршрут доступний. Враховуйте також інші області конфігурації та відповідні налаштування середовища.
Перенаправлення — це не нове зіставлення конфігурації
Документація Git каже, що зіставляються URL, передані безпосередньо командам Git; URL, відвідані через перенаправлення, у цьому зіставленні не беруть участі. Пам'ятайте про це обмеження, якщо перший хост перенаправляє завантаження в інше місце.
Маршрут має відповідати й транспорту. Віддалений репозиторій SSH не керується підрозділом URL HTTP лише тому, що той самий сервіс пропонує вебсайт HTTPS.
Використовуйте кілька свідомих правил, потім перевірте результат для показових URL. Довге накопичення глобальних, локальних для репозиторію та специфічних для URL записів проксі набагато важче осмислити, ніж мережеву відмінність, яку ви намагалися виразити.