Sadarka codsiga ee HTTP-ga Node u marinaya proxy
Ku dhis codsi HTTP proxy caadi ah adigoo isticmaalaya macmiilka asaasiga ee Node, adigoo kala soocaya barta isku xirka, bartilmaameedka buuxa iyo madaxa Host.
Codsi HTTP caadi ah oo mara proxy horay u socda, Node waxay ku xidhmaa proxy-ga oo waxay u dirtaa URL-ka meesha loo socdo sadarka codsiga. Saddex qiime ayaa sharaxa codsigaas keliya:
| Qiime | Tusaale |
|---|---|
| Barta isku xirka TCP | proxy.example:8080 |
| Bartilmaameedka codsiga | http://example.com/news?q=proxy |
| Madaxa Host | example.com |
Tusaalahan Node 22 wuxuu kala soocidda ka dhigayaa mid cad:
const http = require('node:http');
const destination = new URL('http://example.com/news?q=proxy');
const request = http.get({
hostname: 'proxy.example',
port: 8080,
path: destination.href,
headers: { Host: destination.host },
signal: AbortSignal.timeout(15000),
}, (response) => {
console.log(response.statusCode);
response.on('error', console.error);
response.resume();
});
request.on('error', console.error);
Barta isku xirku waa meel-banaan; u dooro mushahar ka mid ah liiska proxy-yada HTTP tijaabo HTTP guud oo hubi jawaabtiisa. Tusaalahu wuxuu daadiyaa jawaabta ka dib marka uu daabaco xaaladda; abka ayaa isticmaali kara jidhka taas beddelkeeda. Weydiintu waxay sii ahaanaysaa qayb ka mid ah bartilmaameedka codsiga.
Sababta URL-ka buuxa uu halkaas ku habboon yahay
Server asal ah wuxuu caadi ahaan helaa bartilmaameed sida /news?q=proxy. Proxy horay u socda ayaa sidoo kale u baahan meesha loo socdo, sidaas darteed HTTP/1.1 waxay qeexdaa bartilmaameedka qaab buuxa:
GET http://example.com/news?q=proxy HTTP/1.1
Host: example.com
Marka la eego xeerarka HTTP/1.1, proxy hela qaabka buuxa waxay adeegsataa awoodda URI marka ay gudbinayso oo beddelaa goobta Host ee la helay ee aan iswaafaqsanayn. Dirista madaxa Host ee meesha loo socdo oo iswaafaqsan weli waxay ka dhigtaa codsiga baxaya mid aan mugdi lahayn. Magaca martigeliyaha isku xirka ee Node waa dhexdhexaadiyaha, sidaas darteed u dhig madaxa si ula kac ah halkii aad ku tiirsanaan lahayd cinwaanka isku xirkaas.
Haddii xaqiijin loo baahan yahay, aqoonsiga proxy-ga waxaa iska leh tallaabadiisa. Ikhtiyaarka codsiga auth ee Node wuxuu abuuraa madax Authorization oo loogu talagalay khayraadka; ma aha ikhtiyaar galitaan proxy guud. Isticmaal nidaamka proxy-gu u baahan yahay iyo macmiil proxy ku habboon marka isdhaafsigu ka sii adag yahay.
HTTPS waxay ku darsataa tunnel
Tusaalahan wuxuu daboolaa gudbinta HTTP caadiga ah. Isku xirka HTTPS ee mara proxy HTTP caadi ahaan wuxuu marka hore codsadaa CONNECT example.com:443, ka dibna wuxuu bilaabaa TLS oo u socda meesha loo socdo gudaha tunnel-ka la aqbalay. Beddelka URL-ka tusaalaha oo loo beddelo HTTPS ma darin tallaabooyinkaas.
HTTPS ama culays isku dhafan, isticmaal wakiil ama dirid proxy la dayactiray oo leh taageerada tunnel ee loo baahan yahay. Noocyada Node ee ku habboon, mid ka mid ah ikhtiyaaradu waa fetch-ka Undici oo leh ProxyAgent. Hayso tusaalahan yar ee macmiilka asaasiga ah ee kiisaska marka isdhaafsiga HTTP caadiga ah laftiisu yahay waxa aad u baahan tahay inaad maamasho ama fahanto.