proxy-chain: akoonno iyo upstream gaar ah oo loogu talagalay listener kasta
Abuur instansiyooyin Server proxy-chain oo leh akoonno Basic iyo dariiqooyin upstream oo u gaar ah listener kasta iyada oo loo marayo prepareRequestFunction.
proxy-chain waxay ku shaqayn kartaa hal instansiyo Server oo deked kasta oo dhegeysi ah. Ku hay siyaasadda listener-kaas callback-ka xaqiijinta:
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()));
Barnaamijku wuxuu bixiyaa qiyamka akoonnada iyo URL-yada upstream iyada oo loo marayo habaynta caadiga ah. Callback kastaa wuxuu hayaa qaanuunkiisa, markaa aqbalaadda akoonka dekedda 8001 ma aqbalo akoonkaas dekedda 8002.
requestAuthentication true wuxuu soo celiyaa caqabad proxy Basic. Marka xaqiijin loo baahdo, upstreamProxyUrl waa la iska indhatirayaa codsigaas. Akoonka soo-galay oo guulaystay iyo akoonka upstream waa aqoonsiyo kala duwan.
Isticmaal URL la taageeray upstream kasta, oo ay ku jiraan aqoonsiyo si sax ah loo codeeyay marka loo baahdo. Upstream HTTP dadweyne oo aan xaqiijin lahayn, ka dooro musharax liiska proxy HTTP oo dhis URL-kiisa iyada oo aan aqoonsiyo lahayn. Upstream la dhaafay wuxuu dooranayaa gudbinta tooska ah halkii proxy kale oo otomaatig ah.
Tusaalahu wuxuu ku xiraa loopback macaamiisha maxalliga ah. Si ula kac ah u xir interface-ka loogu talagalay marka mishiin kale uu ku xirmo, oo la socda siyaasadda gelitaanka u dhiganta.
Server-yada ku hay nool shaqada macaamiishooda. Milkiilkoodu waa inuu xiro server kasta iyada oo loo marayo habka xirista la taageeray marka la damiyo; tusaalahu ma qeexayo meertada nolosha buuxda ee barnaamijkaas.