Node voi lukea välityspalvelimen ympäristömuuttujat itse, kun sen sisäänrakennettu tuki otetaan käyttöön prosessin käynnistyksessä. Käytettävissä olevat asiakkaat riippuvat ajonaikaisesta versiosta:

  • Sisäänrakennettu fetch tukee NODE_USE_ENV_PROXY-asetusta Node-versiosta 24.0.0 alkaen, ja se on takautuvasti portattu versioon 22.21.0.
  • Sisäänrakennettu node:http- ja node:https-tuki niiden oletusarvoisten globaalien agenttien kautta alkaa versiosta 24.5.0, myös takautuvasti portattu versioon 22.21.0.
  • Komentorivikytkin --use-env-proxy alkaa versioista 24.5.0 ja 22.21.0.

Yhteensopivassa versiossa tämä POSIX-shell-esimerkki asettaa yhden yrityksen HTTP-välityspalvelimen molemmille kohdejärjestelmille:

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

Nimi HTTPS_PROXY valitsee reitin HTTPS-kohteille; URL voi silti nimetä HTTP-välityspalvelimen. Säädä NO_PROXY kohteisiin, joiden pitäisi ohittaa se. Riippumatonta julkisen URL-osoitteen testiä varten ilman välityspalvelintiliä HTTP-merkintä HTTP-välityspalvelinluettelosta voi tarjota molemmat välityspalvelimen arvot, kun taas vaaditut sisäiset ohitukset säilyvät.

Ympäristökytkinmuoto on vaihtoehto:

export NODE_USE_ENV_PROXY=1
node app.js

Aseta reititysmuuttujat ennen Noden käynnistämistä kummallakin muodolla. Opt-in-lipun antaminen process.env-kohteelle käynnistyksen jälkeen ei suorita käynnistyksen alustusta uudelleen.

Tarkista, mitä HTTP-asiakasta todella käytetään

Oletusarvoiset globaalit agentit ovat merkityksellisiä http- ja https-kutsuille, jotka käyttävät niitä. Kirjasto, jolla on oma mukautettu agentti tai välittäjä, hallitsee omaa siirtoaan; raa'at TCP-soketit ovat tämän HTTP-reititysominaisuuden ulkopuolella. Yhteensopivalle Undici-asiakkaalle eksplisiittinen ProxyAgent-välittäjä on erillinen asiakaskohtainen rajapinta.

Jos sovellus korvaa globaalin agentin, tutki tätä korvausta ennen kuin oletat sen säilyttävän käynnistyksen välityspalvelinkäyttäytymisen. Samoin npm:n rekisteriasetukset ovat erillinen työkalun asetus eikä todista, miten app.js reitittää pyynnöt.

Yrityksen TLS-luottamusvaatimusta varten määritä sopiva luotettu CA ajonaikaa varten. Välityspalvelinreitityksen käyttöönotto ei vaadi varmenteen vahvistuksen poistamista käytöstä.

Aiheeseen liittyvät artikkelit