Skip to main content

Доставка веб-перехватчиков в частные системы

In order to limit exposure of your private system to the internet, you can use a reverse proxy to forward webhooks from GitHub to your private system.

Интеграция с частными системами с помощью обратного прокси-сервера

Возможно, вы хотите доставлять веб-перехватчики GitHub в частные системы, которые не доступны напрямую из Интернета, такие как системы CI, рабочие средства управления и пользовательские приложения. Вы можете использовать обратный прокси-сервер для получения полезных данных веб-перехватчика от GitHub и их доставки в частную систему.

Обратный прокси-сервер — это веб-сервер, который находится между клиентом и приложением. Обратный прокси-сервер получает запросы от клиента и пересылает их в приложение. Это гарантирует отсутствие прямого взаимодействия между клиентами в Интернете и базовым приложением. Различные системы могут служить обратным прокси-сервером, в том числе:

  • веб-серверы, такие как nginx
  • Шлюзы API
  • бесплатные, сети с открытым кодом наложения, такие как OpenZiti
  • коммерческие средства управления входящего трафика, такие как ngrok
  • бесплатные средства управления входящего трафика с открытым кодом, такие как zrok

Настройка обратного прокси-сервера зависит от используемой системы.

Защита трафика на обратный прокси-сервер

При развертывании обратного прокси-сервера следует следовать всем рекомендациям, рекомендованным поставщиком обратного прокси-сервера, чтобы защитить базовый прокси-сервер. Кроме того, необходимо выполнить следующие действия, чтобы убедиться, что в приложение перенаправляются только запросы из GitHub.

Ограничение входящего трафика на GitHub веб-перехватчиков

Необходимо настроить обратный прокси-сервер, чтобы разрешить только HTTPS POST-запросы из подмножества GitHub диапазонов IP-адресов, используемых для доставки веб-перехватчиков. Это гарантирует, что обратный прокси-сервер не обрабатывает и не пересылает другие запросы.

Конечная /meta точка возвращает объект JSON, в котором перечислены диапазоны IP-адресов GitHub. Диапазоны IP-адресов, используемые для доставки веб-перехватчиков, перечислены в элементе hooks .

Проверка полезных данных веб-перехватчика

Если веб-перехватчик настроен с помощью секретного маркера, GitHub будет включать криптографический хэш каждого полезных данных веб-перехватчика. Этот хэш следует использовать для проверки полезных данных, полученных от GitHub перед выполнением каких-либо действий частной системой. Дополнительные сведения см. в разделе «AUTOTITLE».

Вы можете реализовать проверку полезных данных на обратном прокси-сервере или в частной системе.