Увімкніть вбудовану підтримку проксі в 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 для середовища виконання. Увімкнення маршрутизації проксі не вимагає вимкнення перевірки сертифікатів.