Activer la prise en charge intégrée du proxy de Node au démarrage
Utilisez l'interrupteur de proxy d'environnement de Node avec les bons seuils de version fetch et http/https et comprenez sa portée côté client.
Node peut lire lui-même les variables d'environnement de proxy lorsque sa prise en charge intégrée est activée au démarrage du processus. Les clients disponibles dépendent de la version du runtime :
- Le fetch intégré prend en charge NODE_USE_ENV_PROXY depuis Node 24.0.0, avec un rétroportage vers 22.21.0.
- La prise en charge intégrée de node:http et node:https via leurs agents globaux par défaut commence à 24.5.0, également rétroportée vers 22.21.0.
- L'interrupteur de ligne de commande --use-env-proxy commence à 24.5.0 et 22.21.0.
Sur une version compatible, cet exemple POSIX-shell définit un proxy HTTP d'entreprise pour les deux schémas de destination :
export HTTP_PROXY=http://proxy.example.net:8080
export HTTPS_PROXY=http://proxy.example.net:8080
export NO_PROXY=localhost,127.0.0.1,.internal.example
node --use-env-proxy app.js
Le nom HTTPS_PROXY sélectionne la route des destinations HTTPS ; l'URL peut toujours désigner un proxy HTTP. Ajustez NO_PROXY aux destinations qui doivent le contourner. Pour un test indépendant d'URL publique sans compte proxy, une entrée HTTP de la liste de proxys HTTP peut fournir les deux valeurs de proxy tandis que les contournements internes requis restent en place.
La forme par interrupteur d'environnement est une alternative :
export NODE_USE_ENV_PROXY=1
node app.js
Définissez les variables de routage avant de lancer Node avec l'une ou l'autre forme. L'affectation de l'indicateur d'activation à process.env après le démarrage ne relance pas l'initialisation de démarrage.
Vérifiez quel client HTTP est réellement utilisé
Les agents globaux par défaut concernent les appels http et https qui les utilisent. Une bibliothèque dotée de son propre agent ou répartiteur personnalisé contrôle son propre transport ; les sockets TCP bruts sont hors de cette fonction de routage HTTP. Pour un client Undici compatible, un répartiteur ProxyAgent explicite est une interface distincte locale au client.
Si une application remplace un agent global, inspectez ce remplacement avant de supposer qu'il conserve le comportement de proxy au démarrage. De même, la configuration du registre npm est un réglage d'outil distinct et ne prouve pas comment app.js route les requêtes.
Pour une exigence d'approbation TLS d'entreprise, configurez l'autorité de certification approuvée appropriée pour le runtime. Activer le routage par proxy n'exige pas de désactiver la vérification des certificats.