Node może sam odczytywać zmienne środowiskowe proxy, gdy jego wbudowana obsługa jest włączona podczas uruchamiania procesu. Dostępni klienci zależą od wersji środowiska uruchomieniowego:

  • Wbudowany fetch obsługuje NODE_USE_ENV_PROXY od Node 24.0.0, z backportem do 22.21.0.
  • Wbudowana obsługa node:http i node:https przez ich domyślne globalne agenty zaczyna się od 24.5.0, również z backportem do 22.21.0.
  • Przełącznik wiersza poleceń --use-env-proxy zaczyna się od 24.5.0 i 22.21.0.

W zgodnej wersji ten przykład POSIX-shell ustawia jeden firmowy serwer proxy HTTP dla obu schematów docelowych:

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

Nazwa HTTPS_PROXY wybiera trasę dla celów HTTPS; adres URL nadal może wskazywać serwer proxy HTTP. Dostosuj NO_PROXY do celów, które powinny go omijać. Do niezależnego testu publicznego adresu URL bez konta proxy wpis HTTP z listy serwerów proxy HTTP może dostarczyć obie wartości proxy, podczas gdy wymagane wewnętrzne obejścia pozostają.

Forma przełącznika środowiska jest alternatywą:

export NODE_USE_ENV_PROXY=1
node app.js

Ustaw zmienne routingu przed uruchomieniem Node w dowolnej z form. Przypisanie flagi opt-in do process.env po uruchomieniu nie uruchamia ponownie inicjalizacji startowej.

Sprawdź, który klient HTTP jest faktycznie używany

Domyślne globalne agenty mają znaczenie dla wywołań http i https, które ich używają. Biblioteka z własnym niestandardowym agentem lub dyspozytorem kontroluje własny transport; surowe gniazda TCP są poza tą funkcją routingu HTTP. Dla zgodnego klienta Undici jawny dyspozytor ProxyAgent jest osobnym interfejsem lokalnym klienta.

Jeśli aplikacja zastępuje globalny agent, sprawdź to zastąpienie, zanim założysz, że zachowuje zachowanie proxy przy uruchomieniu. Podobnie konfiguracja rejestru npm jest osobnym ustawieniem narzędzia i nie dowodzi, jak app.js kieruje żądania.

W przypadku firmowego wymogu zaufania TLS skonfiguruj odpowiedni zaufany CA dla środowiska uruchomieniowego. Włączenie routingu proxy nie wymaga wyłączania weryfikacji certyfikatów.

Powiązane artykuły