{"meta":{"title":"プライベート システムへの Webhook の配信","intro":"プライベート システムのインターネットへの露出を制限するために、リバース プロキシを使用して、webhook を GitHub からプライベート システムに転送できます。","product":"Webhooks","breadcrumbs":[{"href":"/ja/webhooks","title":"Webhooks"},{"href":"/ja/webhooks/using-webhooks","title":"Webhook の使用"},{"href":"/ja/webhooks/using-webhooks/delivering-webhooks-to-private-systems","title":"プライベート システムへの配信"}],"documentType":"article"},"body":"# プライベート システムへの Webhook の配信\n\nプライベート システムのインターネットへの露出を制限するために、リバース プロキシを使用して、webhook を GitHub からプライベート システムに転送できます。\n\n## リバース プロキシを使用したプライベート システムとの統合について\n\nci システム、作業管理ツール、カスタム アプリなど、インターネットから直接アクセスできないプライベート システムに GitHub Webhook を配信できます。 リバース プロキシを使用して、 GitHub から Webhook ペイロードを受信し、プライベート システムに配信できます。\n\nリバース プロキシは、クライアントとアプリケーションの間に配置される Web サーバーです。 リバース プロキシは、クライアントから要求を受信し、アプリケーションに転送します。 これにより、インターネット上のクライアントと基盤となるアプリケーションの間で直接通信が行われなくなります。 リバース プロキシには、次のようなさまざまなシステムを使用できます。\n\n* Web サーバー ([nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) など)\n* API ゲートウェイ\n* 無料のオープンソース オーバーレイ ネットワーク ([OpenZiti](https://openziti.io) など)\n* 商用のイングレス管理ツール ([ngrok](https://ngrok.com/partners/github) など)\n* 無料のオープンソース イングレス管理ツール ([zrok](https://zrok.io) など)\n\nリバース プロキシを構成する方法は、使用しているシステムによって異なります。\n\n## リバース プロキシへのトラフィックのセキュリティ保護\n\nリバース プロキシをデプロイするときは、リバース プロキシ プロバイダーが推奨するすべてのプラクティスに従って、基盤となるプロキシ サーバーをセキュリティで保護する必要があります。 さらに、次の手順を実行して、 GitHub からの要求のみがアプリケーションに転送されることを確認する必要があります。\n\n### 受信トラフィックを GitHub Webhook に制限する\n\nWebhook の配信に使用される IP 範囲のサブセットからの HTTPS POST 要求のみを許可するようにリバース プロキシを構成する必要があります。 これにより、リバース プロキシが他の要求を処理または転送しないようにします。\n\n[\n`/meta` エンドポイント](/ja/rest/meta/meta#get-github-meta-information)は、GITHUBの IP 範囲を一覧表示する JSON オブジェクトを返します。 Webhook の配信に使用される IP 範囲が `hooks` 要素に一覧表示されます。\n\n### Webhook ペイロードの検証\n\nWebhook がシークレット トークンで構成されている場合、 GitHub には各 webhook ペイロードの暗号化ハッシュが含まれます。 プライベート システムによってアクションが実行される前に、このハッシュを使用して GitHub から受信したペイロードを検証する必要があります。 詳しくは、「[Webhook 配信を検証する](/ja/webhooks/using-webhooks/validating-webhook-deliveries)」をご覧ください。\n\nペイロード検証は、リバース プロキシまたはプライベート システムのいずれかに実装できます。"}