Интеграция с частными системами с помощью обратного прокси-сервера
Возможно, вы хотите доставлять веб-перехватчики GitHub в частные системы, которые не доступны напрямую из Интернета, такие как системы CI, рабочие средства управления и пользовательские приложения. Вы можете использовать обратный прокси-сервер для получения полезных данных веб-перехватчика от GitHub и их доставки в частную систему.
Обратный прокси-сервер — это веб-сервер, который находится между клиентом и приложением. Обратный прокси-сервер получает запросы от клиента и пересылает их в приложение. Это гарантирует отсутствие прямого взаимодействия между клиентами в Интернете и базовым приложением. Различные системы могут служить обратным прокси-сервером, в том числе:
- веб-серверы, такие как nginx
- Шлюзы API
- бесплатные, сети с открытым кодом наложения, такие как OpenZiti
- коммерческие средства управления входящего трафика, такие как ngrok
- бесплатные средства управления входящего трафика с открытым кодом, такие как zrok
Настройка обратного прокси-сервера зависит от используемой системы.
Защита трафика на обратный прокси-сервер
При развертывании обратного прокси-сервера следует следовать всем рекомендациям, рекомендованным поставщиком обратного прокси-сервера, чтобы защитить базовый прокси-сервер. Кроме того, необходимо выполнить следующие действия, чтобы убедиться, что в приложение перенаправляются только запросы из GitHub.
Ограничение входящего трафика на GitHub веб-перехватчиков
Необходимо настроить обратный прокси-сервер, чтобы разрешить только HTTPS POST-запросы из подмножества GitHub диапазонов IP-адресов, используемых для доставки веб-перехватчиков. Это гарантирует, что обратный прокси-сервер не обрабатывает и не пересылает другие запросы.
Конечная /meta
точка возвращает объект JSON, в котором перечислены диапазоны IP-адресов GitHub. Диапазоны IP-адресов, используемые для доставки веб-перехватчиков, перечислены в элементе hooks
.
Проверка полезных данных веб-перехватчика
Если веб-перехватчик настроен с помощью секретного маркера, GitHub будет включать криптографический хэш каждого полезных данных веб-перехватчика. Этот хэш следует использовать для проверки полезных данных, полученных от GitHub перед выполнением каких-либо действий частной системой. Дополнительные сведения см. в разделе Проверка доставки веб-перехватчика.
Вы можете реализовать проверку полезных данных на обратном прокси-сервере или в частной системе.