Node-ს შეუძლია თავად წაიკითხოს პროქსის გარემოს ცვლადები, როდესაც მისი ჩაშენებული მხარდაჭერა ჩართულია პროცესის გაშვებისას. ხელმისაწვდომი კლიენტები დამოკიდებულია runtime-ის ვერსიაზე:

  • ჩაშენებული 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 runtime-ისთვის. პროქსის მარშრუტიზაციის ჩართვა არ მოითხოვს სერტიფიკატის შემოწმების გამორთვას.

დაკავშირებული სტატიები