پروکسی معکوس (Reverse Proxy)
Reverse Proxy: تفاوت با Forward Proxy، وظایف (SSL، کش، امنیت) و رابطه با Load Balancer و CDN
پروکسی معکوس چیست؟
Reverse Proxy در «جلو» سرورهای شما مینشیند و درخواستها را به آنها میرساند — از دید کاربر، خودِ پروکسی «سرور» است!
Forward در برابر Reverse
| ویژگی | Forward Proxy | Reverse Proxy |
|---|---|---|
| برای چه کسی؟ | کلاینتها | سرورها |
| چه کسی میداند؟ | سرور نمیداند کاربر واقعی کیست | کاربر نمیداند سرور واقعی کدام است |
| مثال | فیلترشکن، پروکسی شرکت | Nginx، Cloudflare |
وظایف Reverse Proxy
- SSL Termination: رمزگشایی HTTPS در پروکسی — سرورها سبک میشوند
- Load Balancing: توزیع بین بکاندها (Nginx این کار را میکند!)
- کش: پاسخهای استاتیک را کش کند
- امنیت: مخفیکردن توپولوژی، DDoS Protection، Rate Limit
- Routing: /api → سرویس A، /img → سرویس B
- Compression: فشردهسازی gzip
رابطه با Load Balancer و CDN
کاربر → CDN (استاتیک، لبه) → Reverse Proxy/LB → سرورهای اپ → دیتابیس
- CDN: کش «در لبه» نزدیک کاربر (مبحث CDN)
- Reverse Proxy: لایه هوشمند جلوی سرورها — اغلب خودش LB هم هست
- در عمل امروز: Nginx/Envoy = Reverse Proxy + LB + کش در یک ابزار
مثال پیکربندی Nginx
server {
listen 443 ssl;
location /api/ {
proxy_pass http://api_servers; # LB به ۳ سرور
}
location /static/ {
proxy_cache my_cache; # کش استاتیک
}
}
نکته: Cloudflare که میلیونها سایت از آن استفاده میکنند، اساساً یک Reverse Proxy جهانی + CDN + سپر DDoS است — حالا میدانید پشت صحنه چه خبر است!
جمعبندی
- Reverse Proxy: نماینده سرورها جلوی کاربر
- وظایف: SSL، LB، کش، امنیت، Routing
- Forward برای کلاینت، Reverse برای سرور
- Nginx/Cloudflare = نمونههای همهجا حاضر
این مبحث بخشی از دوره آموزش کامل طراحی سیستم (System Design) است.