proxy-chain: cuntais agus upstreams ar leith do gach listener
Cruthaigh cásanna Server de chuid proxy-chain le cuntais Basic agus bealaí upstream atá sainiúil don listener trí prepareRequestFunction.
Is féidir le proxy-chain aon chás Server amháin a rith in aghaidh gach poirt éisteachta. Taifead polasaí an listener sin ina chomhaireamh siar fíordheimhnithe:
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()));
Soláthraíonn an feidhmchlár luachanna na gcuntas agus na URLanna upstream trína ghnáthchumraíocht. Coinníonn gach comhaireamh siar a riail féin, mar sin ní ghlacann glacadh leis an gcuntas ar phort 8001 leis an gcuntas sin ar phort 8002.
Filleann requestAuthentication true dúshlán seachfhreastalaí Basic. Nuair a theastaíonn fíordheimhniú, déantar neamhaird de upstreamProxyUrl don iarratas sin. Is féidirí ar leith iad cuntas iontrála rathúil agus cuntas an upstream.
Úsáid URL tacaíochta do gach upstream, lena n-áirítear dintiúir atá ionchódaithe i gceart nuair is gá. Le haghaidh upstream HTTP poiblí gan fíordheimhniú, roghnaigh iarrthóir ón liosta seachfhreastalaithe HTTP agus tóg a URL gan dintiúir. Roghnaíonn upstream a fágadh ar lár seachadadh díreach seachas seachfhreastalaí uathoibríoch eile.
Ceanglaíonn an sampla loopback do chliaint áitiúla. Ceangail an comhéadan atá beartaithe go toiliúil nuair a chaithfidh meaisín eile nascadh, leis an bpolasaí rochtana comhfhreagrach.
Coinnigh na freastalaithe beo d'ualach oibre a gcliaint. Ba chóir dá n-úinéir gach freastalaí a dhúnadh trína mhodh dúnta tacaíochta agus é á mhúchadh; ní shainíonn an sampla saolré iomlán an fheidhmchláir sin.