Node може сам да чете променливите на средата за прокси, когато вградената му поддръжка е активирана при стартиране на процеса. Наличните клиенти зависят от версията на средата за изпълнение:

  • Вграденият fetch поддържа NODE_USE_ENV_PROXY от Node 24.0.0, с обратно пренасяне към 22.21.0.
  • Вградената поддръжка на node:http и node:https чрез техните глобални агенти по подразбиране започва от 24.5.0, също обратно пренесена към 22.21.0.
  • Превключвателят на командния ред --use-env-proxy започва от 24.5.0 и 22.21.0.

При съвместима версия този пример за POSIX-shell задава едно корпоративно HTTP прокси за двете схеми на местоназначение:

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

Името HTTPS_PROXY избира маршрута за HTTPS местоназначения; URL адресът все още може да посочва HTTP прокси. Настройте NO_PROXY за местоназначенията, които трябва да го заобикалят. За независим тест на публичен URL без прокси акаунт, HTTP запис от списъка с HTTP проксита може да предостави и двете стойности на проксито, докато необходимите вътрешни заобикаляния остават.

Формата с превключвател на средата е алтернатива:

export NODE_USE_ENV_PROXY=1
node app.js

Задайте променливите за маршрутизиране преди стартиране на Node с която и да е от двете форми. Присвояването на флага за включване на process.env след стартиране не стартира отново инициализацията при стартиране.

Проверете действително използвания HTTP клиент

Глобалните агенти по подразбиране са от значение за http и https повиквания, които ги използват. Библиотека със собствен персонализиран агент или диспечер управлява собствения си транспорт; необработените TCP сокети са извън тази функция за HTTP маршрутизиране. За съвместим клиент Undici, явен диспечер ProxyAgent е отделен локален за клиента интерфейс.

Ако приложение замени глобален агент, прегледайте тази замяна, преди да приемете, че тя запазва поведението на проксито при стартиране. По същия начин конфигурацията на регистъра на npm е отделна настройка на инструмента и не доказва как app.js маршрутизира заявки.

За корпоративно изискване за доверие TLS конфигурирайте подходящия доверен CA за средата за изпълнение. Активирането на прокси маршрутизиране не изисква изключване на проверката на сертификата.

Подобни статии