Node può leggere da solo le variabili d'ambiente del proxy quando il suo supporto integrato è abilitato all'avvio del processo. I client disponibili dipendono dalla versione del runtime:

  • Il fetch integrato supporta NODE_USE_ENV_PROXY da Node 24.0.0, con un backport a 22.21.0.
  • Il supporto integrato di node:http e node:https tramite i loro agent globali predefiniti inizia da 24.5.0, anch'esso retroportato a 22.21.0.
  • L'interruttore da riga di comando --use-env-proxy inizia da 24.5.0 e 22.21.0.

Su una versione compatibile, questo esempio POSIX-shell imposta un proxy HTTP aziendale per entrambi gli schemi di destinazione:

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

Il nome HTTPS_PROXY seleziona la rotta per le destinazioni HTTPS; l'URL può comunque indicare un proxy HTTP. Adatta NO_PROXY alle destinazioni che devono aggirarlo. Per un test indipendente di URL pubblico senza account proxy, una voce HTTP dalla lista di proxy HTTP può fornire entrambi i valori del proxy mentre restano i necessari bypass interni.

La forma con interruttore d'ambiente è un'alternativa:

export NODE_USE_ENV_PROXY=1
node app.js

Imposta le variabili di routing prima di avviare Node con una delle due forme. Assegnare il flag di attivazione a process.env dopo l'avvio non riesegue l'inizializzazione di avvio.

Verifica quale client HTTP è effettivamente in uso

Gli agent globali predefiniti sono rilevanti per le chiamate http e https che li usano. Una libreria con un proprio agent o dispatcher personalizzato controlla il proprio trasporto; i socket TCP grezzi sono fuori da questa funzione di routing HTTP. Per un client Undici compatibile, un dispatcher ProxyAgent esplicito è un'interfaccia separata locale al client.

Se un'applicazione sostituisce un agent globale, esamina quella sostituzione prima di supporre che conservi il comportamento proxy di avvio. Allo stesso modo, la configurazione del registro di npm è un'impostazione dello strumento separata e non dimostra come app.js instrada le richieste.

Per un requisito aziendale di fiducia TLS, configura l'autorità di certificazione attendibile appropriata per il runtime. Abilitare il routing proxy non richiede di disattivare la verifica dei certificati.

Articoli correlati