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.

Ailt ghaolmhara