เปิดใช้การรองรับพร็อกซีในตัวของ Node เมื่อเริ่มระบบ
ใช้สวิตช์พร็อกซีสภาพแวดล้อมของ Node พร้อมขีดจำกัดเวอร์ชัน fetch และ http/https ที่ถูกต้อง และเข้าใจขอบเขตไคลเอนต์
Node สามารถอ่านตัวแปรสภาพแวดล้อมพร็อกซีได้เองเมื่อเปิดใช้การรองรับในตัวตอนเริ่มโปรเซส ไคลเอนต์ที่ใช้ได้ขึ้นอยู่กับเวอร์ชันของรันไทม์:
- fetch ในตัวรองรับ NODE_USE_ENV_PROXY ตั้งแต่ Node 24.0.0 โดยมี backport ไปยัง 22.21.0
- การรองรับ node:http และ node:https ในตัวผ่านเอเจนต์โกลบอลค่าเริ่มต้นเริ่มที่ 24.5.0 และ backport ไปยัง 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 ที่เชื่อถือได้อย่างเหมาะสมสำหรับรันไทม์ การเปิดใช้การกำหนดเส้นทางพร็อกซีไม่จำเป็นต้องปิดการตรวจสอบใบรับรอง