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 বান্ধে। আন এটা মেচিনে সংযোগ কৰিব লাগিলে সংশ্লিষ্ট প্ৰৱেশ নীতিৰ সৈতে উদ্দেশ্যমূলকভাৱে ইণ্টাৰফেচটো বান্ধক।
সৰ্বাৰবোৰ সিহঁতৰ ক্লায়েন্টৰ কামৰ বাবে জীৱন্ত ৰাখক। মালিকে শ্বাটডাউনত প্ৰতিটো চাৰ্ভাৰ ইয়াৰ সমৰ্থিত বন্ধ পদ্ধতিৰে বন্ধ কৰা উচিত; উদাহৰণে সেই এপ্লিকেশ্যনৰ সম্পূৰ্ণ জীৱনচক্ৰ সংজ্ঞায়িত নকৰে।