Node می‌تواند وقتی پشتیبانی داخلی‌اش در هنگام راه‌اندازی فرایند فعال می‌شود، خودش متغیرهای محیطی پروکسی را بخواند. کلاینت‌های موجود به نسخه زمان اجرا بستگی دارند:

  • fetch داخلی از Node 24.0.0 از NODE_USE_ENV_PROXY پشتیبانی می‌کند و به 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 را برای مقصدهایی که باید از آن عبور کنند تنظیم کنید. برای آزمون مستقل نشانی عمومی بدون حساب پروکسی، یک ورودی 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 مورد اعتماد مناسب را برای زمان اجرا پیکربندی کنید. فعال‌سازی مسیریابی پروکسی نیازی به غیرفعال کردن تأیید گواهی ندارد.

مقالات مرتبط