Proxy & Reverse Proxy
প্রক্সি (Proxy) হলো একটি মধ্যস্থতাকারী সার্ভার যা ক্লায়েন্ট এবং মেইন সার্ভারের মধ্যে কাজ করে। সিস্টেম ডিজাইনে দুই ধরনের প্রক্সি সবচেয়ে বেশি ব্যবহৃত হয়: Forward Proxy এবং Reverse Proxy।
1. Forward Proxy (The Client Side)
এটি ক্লায়েন্টের হয়ে কাজ করে। যখন কোনো ইউজার ইন্টারনেট এক্সেস করতে চায়, তখন এই প্রক্সি মাঝখানে বসে অনুরোধটি ইন্টারনেটে পাঠায়।
- কেন ব্যবহার হয়:
- ইউজারের আইপি হাইড করার জন্য (Anonymity)।
- নির্দিষ্ট ওয়েবসাইট ব্লক করার জন্য (যেমন: অফিসের প্রক্সি)।
- কন্টেন্ট ফিল্টারিংয়ের জন্য।
- উদাহরণ: VPN বা করপোরেট নেটওয়ার্ক গেটওয়ে।
2. Reverse Proxy (The Server Side)
এটি সার্ভারের আগে থাকে এবং ইন্টারনেটের সব রিকোয়েস্ট গ্রহণ করে। এটি ইউজারের হয়ে নয়, বরং ব্যাকএন্ড সার্ভারগুলোর হয়ে কাজ করে।
- কেন ব্যবহার হয়:
- Load Balancing: রিকোয়েস্ট বিভিন্ন সার্ভারে ভাগ করে দেওয়া।
- Security: মেইন সার্ভারের আইপি সরাসরি ইন্টারনেটে এক্সপোজ না করা।
- SSL Termination: সব এনক্রিপশন প্রক্সি লেভেলে হ্যান্ডেল করা, যাতে মেইন সার্ভারের ওপর চাপ কমে।
- Caching: স্ট্যাটিক কন্টেন্ট ক্যাশ করে রাখা।
- উদাহরণ: Nginx, HAProxy, Apache.
৩. পার্থক্য একনজরে
| বৈশিষ্ট্য | Forward Proxy | Reverse Proxy |
|---|---|---|
| কাকে প্রটেক্ট করে? | ক্লায়েন্টকে (Client) | সার্ভারকে (Server) |
| সার্ভার কি জানে? | প্রক্সির আইপি জানে, ইউজারের নয় | সে শুধুই প্রক্সির কাছ থেকে রিকোয়েস্ট পায় |
| ব্যবহারের স্থান | ইউজারের এন্ডে বা ব্রাউজারে | সার্ভারের আগের লেয়ারে |
NOTE
ইন্টারনেটে আমরা যখনই কোনো বড় ওয়েবসাইট ভিজিট করি, আমরা আসলে একটি Reverse Proxy (যেমন: Nginx বা Cloudflare) এর সাথে কানেক্ট হই, মেইন অ্যাপ্লিকেশন সার্ভারের সাথে নয়। এটি আধুনিক আর্কিটেকচারের একটি অবিচ্ছেদ্য অংশ।