ప్రారంభ సమయంలో 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ని కాన్ఫిగర్ చేయండి. ప్రాక్సీ రూటింగ్ను ప్రారంభించడానికి సర్టిఫికేట్ ధృవీకరణను నిలిపివేయాల్సిన అవసరం లేదు.