स्टार्टअपमा Node को निर्मित प्रोक्सी समर्थन सक्षम गर्नुहोस्
सही fetch र http/https संस्करण सीमाहरूका साथ Node को वातावरण प्रोक्सी स्विच प्रयोग गर्नुहोस् र यसको क्लाइन्ट दायरा बुझ्नुहोस्।
प्रक्रिया सुरु हुँदा यसको निर्मित समर्थन सक्षम भएमा Node ले प्रोक्सी वातावरण चरहरू आफै पढ्न सक्छ। उपलब्ध क्लाइन्टहरू runtime संस्करणमा निर्भर हुन्छन्:
- निर्मित 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 लाई यसलाई बाइपास गर्नुपर्ने गन्तव्यहरूमा समायोजन गर्नुहोस्। प्रोक्सी खाता बिना स्वतन्त्र सार्वजनिक-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 विश्वास आवश्यकताका लागि, runtime का लागि उपयुक्त विश्वसनीय CA कन्फिगर गर्नुहोस्। प्रोक्सी राउटिङ सक्षम गर्न प्रमाणपत्र प्रमाणीकरण असक्षम गर्न आवश्यक पर्दैन।