# Envoi de webhooks vers des systèmes internes

Pour limiter l’exposition de votre système privé à Internet, vous pouvez utiliser un proxy inversé pour rediriger les webhooks de GitHub vers votre système privé.

## À propos de l'intégration à des systèmes privés en utilisant le proxy inverse

Vous pouvez fournir GitHub des webhooks à des systèmes privés qui ne sont pas directement accessibles à partir d’Internet, tels que les systèmes CI, les outils de gestion des travaux et les applications personnalisées. Vous pouvez utiliser un proxy inverse pour recevoir des charges utiles de webhook à partir de GitHub et les remettre à votre système privé.

Un proxy inverse est un serveur web qui s'intercale entre un client et une application. Le proxy inverse reçoit les demandes du client et les transfère à l'application. Ainsi, aucune communication directe n'a lieu entre les clients sur l'internet et l'application sous-jacente. Plusieurs systèmes peuvent servir de proxy inverse, notamment :

* Serveurs web, comme [nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/)
* Passerelles d’API
* Réseaux de superposition open source gratuits, comme [OpenZiti](https://openziti.io)
* Outils de gestion du trafic entrant commercial, comme [ngrok](https://ngrok.com/partners/github)
* Outils de gestion d’entrée open source gratuits, comme [zrok](https://zrok.io)

La façon dont vous configurez votre proxy inverse varie selon le système que vous utilisez.

## Sécurisation du trafic vers votre proxy inverse

Lors du déploiement d'un proxy inverse, vous devez suivre toutes les pratiques recommandées par votre fournisseur de proxy inverse pour sécuriser le serveur proxy sous-jacent. En outre, vous devez effectuer les étapes suivantes pour vérifier que seules les demandes envoyées GitHub sont transférées à votre application.

### Limitation du trafic entrant vers GitHub des webhooks

Vous devez configurer votre proxy inverse pour autoriser uniquement les requêtes HTTPS POST à partir du sous-ensemble de GitHub plages d’adresses IP utilisées pour fournir des webhooks. Ainsi, votre proxy inverse ne traitera ni ne transmettra d'autres demandes.

Le point de terminaison [`/meta`](/fr/rest/meta/meta#get-github-meta-information) retourne une liste d'objets JSON répertoriant les plages d'adresses IP de GitHub. Les plages d'adresses IP utilisées pour distribuer des webhooks sont répertoriées dans l'élément `hooks`.

### Validation des charges utiles des webhooks

Si votre webhook est configuré avec un jeton secret, GitHub inclura un hachage cryptographique de chaque charge utile de webhook. Vous devez utiliser ce hachage pour valider la charge utile reçue de GitHub avant qu'une action ne soit effectuée par votre système privé. Pour plus d’informations, consultez « [Validation des livraisons de webhook](/fr/webhooks/using-webhooks/validating-webhook-deliveries) ».

Vous pouvez effectuer la validation des charges utiles soit sur le proxy inverse, soit sur votre système privé.