{"meta":{"title":"Utilisation de serveurs proxy avec un exécuteur","intro":"Vous pouvez configurer des exécuteurs dans des environnements isolés afin qu’ils utilisent un serveur proxy pour une communication sécurisée avec GitHub.","product":"GitHub Actions","breadcrumbs":[{"href":"/fr/actions","title":"GitHub Actions"},{"href":"/fr/actions/how-tos","title":"Guides pratiques"},{"href":"/fr/actions/how-tos/manage-runners","title":"Gérer les exécuteurs"},{"href":"/fr/actions/how-tos/manage-runners/use-proxy-servers","title":"Utilisez des serveurs proxy"}],"documentType":"article"},"body":"# Utilisation de serveurs proxy avec un exécuteur\n\nVous pouvez configurer des exécuteurs dans des environnements isolés afin qu’ils utilisent un serveur proxy pour une communication sécurisée avec GitHub.\n\n## Configuration d’un proxy pour les exécuteurs Linux et Windows\n\nSi votre exécuteur doit communiquer via un serveur proxy, vous pouvez configurer des paramètres proxy à l’aide de variables d’environnement ou de configurations au niveau du système.\n\n| Variable      | Descriptif                                                                                           | Example                                                                                     |\n| ------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |\n| `https_proxy` | URL du proxy pour le trafic HTTPS. Vous pouvez inclure l’authentification de base si nécessaire.                        | `http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:password@proxy.local` |\n| `http_proxy`  | URL du proxy pour le trafic HTTP. Vous pouvez inclure l’authentification de base si nécessaire.                         | `http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:password@proxy.local` |\n| `no_proxy`    | Liste séparée par des virgules d’hôtes ou d’adresses IP qui doivent contourner le proxy. Certains clients respectent uniquement les adresses IP lorsque les connexions sont effectuées directement à l’adresse IP plutôt qu’à un nom d’hôte. | `example.com`<br>`example.com,myserver.local:443,example.org`                               |\n\nLes variables d’environnement proxy sont lues au démarrage de l’application d’exécution. Vous devez donc définir les variables d’environnement avant de configurer ou de démarrer l’application d’exécuteur. Si votre configuration de proxy change, vous devez redémarrer l’application d’exécuteur.\n\nSur les ordinateurs Windows, les noms des variables d’environnement de proxy ne sont pas sensibles à la casse. Sur les machines Linux et macOS, nous vous recommandons d’utiliser toutes les variables d’environnement en minuscules. Si vous avez une variable d’environnement en minuscules et en majuscules sur Linux ou macOS, par exemple `https_proxy` et `HTTPS_PROXY` , l’application de l’exécuteur auto-hébergé utilise la variable d’environnement en minuscules.\n\nLa connexion entre exécuteurs auto-hébergés et GitHub passe via HTTPS (port 443). \n\n> [!WARNING]\n> Les runners auto-hébergés ne prennent pas en charge l’utilisation d’adresses IP dans la variable `no_proxy` d’environnement Si votre GitHub Enterprise Server instance utilise une adresse IP et que vous configurez `no_proxy` pour contourner le proxy de cette adresse, l’exécuteur ne parvient toujours pas à se connecter.\n> Si votre GitHub Enterprise Server instance est accessible à l’aide d’une adresse IP et que la connexion doit contourner le proxy, l’exécuteur ne parvient pas à se connecter, même si cette adresse IP est répertoriée dans `no_proxy`.\n\n### Exemples de configurations\n\n> [!NOTE]\n> Pour éviter les problèmes, il est recommandé de traiter les variables d’environnement comme sensibles à la casse, quel que soit le comportement du système d’exploitation et de l’interpréteur de commandes que vous utilisez.\n\n#### Linux et macOS\n\nDéfinissez les variables d’environnement de proxy pour votre exécuteur.\n\n```shell copy\nexport https_proxy=http://proxy.local:8080\nexport http_proxy=http://proxy.local:8080\nexport no_proxy=example.com,localhost,127.0.0.1\n```\n\n#### Fenêtres\n\nSur Windows, vous pouvez configurer les paramètres de proxy en définissant des variables d’environnement ou à l’aide de la [commande netsh](https://learn.microsoft.com/en-us/windows/win32/winhttp/netsh-exe-commands#set-advproxy).\nL’approche netsh s’applique aux applications et services qui s’appuient sur l’API WinHTTP.\n\nLa définition des variables d’environnement est toujours requise pour les exécuteurs qui utilisent la mise en réseau privée. Si vous devez également configurer netsh dépend des applications utilisées dans vos flux de travail.\n\n```shell copy\nnetsh winhttp set advproxy setting-scope=machine settings={\\\"Proxy\\\":\\\"proxy.local:8080\\\",\\\"ProxyBypass\\\":\\\"168.63.129.16;169.254.169.254\\\",\\\"AutoconfigUrl\\\":\\\"\\\",\\\"AutoDetect\\\":false} \n```\n\nLors de la configuration de ce paramètre pendant la génération d’images personnalisée, utilisez cette option `setting-scope=machine` pour vous assurer que les paramètres du proxy persistent après les redémarrages et pendant l’imagerie des machines virtuelles.\n\n### Rendre les paramètres de proxy persistants\n\nLors de la définition de ces variables d’environnement pendant la génération d’images personnalisée, assurez-vous que la configuration persiste entre les redémarrages ou les reconstructions d’images.\n\n#### Linux et macOS\n\nÉcrivez les variables dans `/etc/environment`.\n\n```shell\n echo 'http_proxy=http://proxy.local' >> /etc/environment\n```\n\n#### Fenêtres\n\nDéfinissez les variables d’environnement à l’échelle du système.\n\n```shell copy\n[Environment]::SetEnvironmentVariable(\"http_proxy\", \"http://proxy.local\", \"Machine\")\n```\n\n## Configuration d’un proxy pour les exécuteurs Azure\n\nSi votre exécuteur est hébergé dans Azure, soit en tant qu’exécuteur auto-hébergé, soit en tant qu’exécuteur plus grand hébergé par GitHub déployé avec une mise en réseau privée, vous devrez peut-être configurer un proxy pour autoriser la connectivité sortante aux services GitHub tout en conservant l’isolation du réseau.\n\nVous devez ajouter des adresses IP de gestion et de métadonnées Azure à votre `no_proxy` liste pour vous assurer que l’exécuteur peut accéder aux services Azure requis. Ces points de terminaison permettent aux machines virtuelles Azure de récupérer les informations de configuration et d’identité nécessaires pour une opération appropriée.\n\nLes deux adresses IP Azure sont les suivantes :\n* 168.63.129.16 (voir [Présentation de l’adresse IP Azure 168.63.129.16](https://learn.microsoft.com/en-us/azure/virtual-network/what-is-ip-address-168-63-129-16?tabs=linux))\n* 169.254.169.254 (voir Service [de métadonnées d’instance Azure](https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service?tabs=linux))\n\n## Utilisation d’un fichier .env pour définir la configuration du proxy\n\n> [!NOTE]\n> L’utilisation d’un `.env` fichier pour définir la configuration du proxy ne peut pas être effectuée sur un exécuteur hébergé par GitHub.\n\nSur les exécuteurs auto-hébergés, vous pouvez configurer les paramètres de proxy en ajoutant les variables à un `.env` fichier dans le répertoire d’application de l’exécuteur auto-hébergé (répertoire dans lequel vous avez téléchargé et décompressé le logiciel d’exécuteur). Cette approche est utile lorsque le programme d’exécution est configuré pour s’exécuter en tant que service sous un compte système. Lorsque le processus démarre, il lit les variables définies dans `.env` pour la configuration du proxy.\n\n### Exemple `.env` configuration du proxy\n\n```shell copy\nhttps_proxy=http://proxy.local:8080\nno_proxy=example.com,myserver.local:443\n```\n\n## Définition de la configuration du proxy pour des conteneurs Docker\n\nSi vous utilisez des actions de conteneur ou des conteneurs de service Docker dans vos workflows, vous devrez peut-être aussi configurer Docker pour utiliser votre serveur proxy en plus de définir les variables d’environnement ci-dessus.\n\nPour obtenir des informations sur la configuration Docker requise, consultez « [Configurer Docker pour utiliser un serveur proxy](https://docs.docker.com/network/proxy/) » dans la documentation Docker."}