proxy-chain: asusu da upstream daban don kowane listener
Ƙirƙiri kwafin Server na proxy-chain tare da asusun Basic da hanyoyin upstream na musamman ga kowane listener ta prepareRequestFunction.
proxy-chain na iya tafiyar da kwafin Server ɗaya ga kowace tashar saurara. Riƙe manufar wannan listener a cikin callback ɗin tabbatarwa:
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()));
Aikace-aikacen yana bayar da ƙimar asusun da URL ɗin upstream ta hanyar daidaitawar sa ta yau da kullum. Kowane callback yana riƙe da nasa ƙa'idar, don haka karɓar asusu a tashar 8001 baya karɓar wannan asusu a tashar 8002.
requestAuthentication true yana mayar da ƙalubalen proxy Basic. Lokacin da ake buƙatar tabbatarwa, ana watsi da upstreamProxyUrl ga wannan buƙatar. Asusun shigowa mai nasara da asusun upstream suna da asali daban.
Yi amfani da URL da aka goyi baya ga kowane upstream, gami da takaddun shiga da aka lissafa yadda ya kamata idan an buƙata. Ga upstream na HTTP na jama'a mara tabbatarwa, zaɓi ɗan takara daga jerin proxy na HTTP ka gina URL ɗinsa ba tare da takaddun shiga ba. Upstream da aka bar shi yana zaɓar turawa kai tsaye maimakon wani proxy na atomatik.
Misalin yana ɗaure loopback ga abokan ciniki na gida. Ɗaure maƙamin da aka nufa da gangan idan wata na'ura za ta haɗa, tare da manufar shiga da ta dace.
Riƙe sabar ɗin a raye don aikin abokan cinikinsu. Mai su ya kamata ya rufe kowace sabar ta hanyar hanyar rufewa da aka goyi baya lokacin kashewa; misalin bai bayyana cikakken zagayowar rayuwar wannan aikace-aikacen ba.