proxy-chain፦ ለእያንዳንዱ አድማጭ የተለያዩ መለያዎች እና የወደላይ መንገዶች
በprepareRequestFunction በኩል ለአድማጩ የተወሰኑ የBasic መለያዎችን እና የወደላይ መንገዶችን ያካተቱ የproxy-chain Server ምሳሌዎችን ይፍጠሩ።
proxy-chain ለእያንዳንዱ የሚያዳምጥ ወደብ አንድ Server ምሳሌ ማስኬድ ይችላል። የዚያን አድማጭ ፖሊሲ በማረጋገጫ መመለሻ ተግባሩ ውስጥ ያስቀምጡ፦
import { Server } from 'proxy-chain';
const listeners = [
{ port: 8001, user: userA, password: passwordA, upstream: upstreamA },
{ port: 8002, user: userB, password: passwordB, upstream: upstreamB },
];
const servers = listeners.map(rule => new Server({
host: '127.0.0.1',
port: rule.port,
prepareRequestFunction: ({ username, password }) => ({
requestAuthentication:
username !== rule.user || password !== rule.password,
upstreamProxyUrl: rule.upstream,
}),
}));
await Promise.all(servers.map(server => server.listen()));
መተግበሪያው የመለያ እሴቶችን እና የወደላይ URL አድራሻዎችን በመደበኛው ውቅሩ ያቀርባል። እያንዳንዱ መመለሻ ተግባር የራሱን ደንብ ይይዛል፤ ስለዚህ መለያውን በወደብ 8001 መቀበል በወደብ 8002 ላይ ያንን መለያ አይቀበልም።
requestAuthentication true የBasic ተኪ ጥያቄ ይመልሳል። ማረጋገጫ ሲያስፈልግ ለዚያ ጥያቄ upstreamProxyUrl ተችሎ ይተዋል። የተሳካ የገቢ መለያ እና የወደላይ መለያ የተለያዩ ማንነቶች ናቸው።
ለእያንዳንዱ የወደላይ አገልግሎት የሚደገፍ URL ይጠቀሙ፣ አስፈላጊ ሲሆን በትክክል የተመሰጠሩ ማስረጃዎችን ጨምሮ። ማረጋገጫ ለማይፈልግ ይፋዊ HTTP የወደላይ አገልግሎት የHTTP ተኪ ዝርዝር ውስጥ አንዱን ይምረጡ እና URL-ውን ያለ ማስረጃ ይገንቡ። የተተወ የወደላይ አገልግሎት ከሌላ ራስ-ሰር ተኪ ይልቅ ቀጥታ ማስተላለፍን ይመርጣል።
ምሳሌው ለአካባቢ ደንበኞች loopback ያስተሳስራል። ሌላ ማሽን መገናኘት ሲኖርበት የታሰበውን በይነገጽ ከተዛማጅ የመዳረሻ ፖሊሲ ጋር ሆን ብለው ያስተሳስሩ።
አገልጋዮቹን ለደንበኞቻቸው ሥራ ሕያው ያድርጉ። ባለቤታቸው በመዘጋት ጊዜ እያንዳንዱን አገልጋይ በሚደገፈው የመዝጊያ ዘዴ መዝጋት አለበት፤ ምሳሌው የዚያን መተግበሪያ ሙሉ የሕይወት ዑደት አይገልጽም።