Включение встроенной поддержки прокси в Node при запуске
Используйте переключатель прокси окружения Node с правильными порогами версий fetch и http/https и понимайте его клиентскую область.
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 в любой из форм. Присвоение флага opt-in к process.env после запуска не запускает инициализацию запуска повторно.
Проверьте, какой HTTP-клиент действительно используется
Глобальные агенты по умолчанию важны для вызовов http и https, которые их используют. Библиотека с собственным нестандартным агентом или диспетчером управляет своим транспортом; сырые TCP-сокеты находятся вне этой функции маршрутизации HTTP. Для совместимого клиента Undici явный диспетчер ProxyAgent — это отдельный локальный интерфейс клиента.
Если приложение заменяет глобальный агент, проверьте эту замену, прежде чем предполагать, что она сохраняет поведение прокси при запуске. Аналогично, конфигурация реестра npm — это отдельная настройка инструмента, и она не доказывает, как app.js маршрутизирует запросы.
Для корпоративного требования доверия TLS настройте подходящий доверенный CA для среды выполнения. Включение маршрутизации через прокси не требует отключения проверки сертификатов.