Reverse Proxy چیست؟

پراکسی معکوس یا Reverse Proxy سروری است که در مقابل سرورهای وب و کاربرانی که برای آنها درخواست ارسال میکنند قرار میگیرد و معمولاً برای افزایش امنیت و عملکرد در محیط اینترنت استفاده میشود.
استفاده از این نوع پراکسی در چند سال اخیر بسیار رایج شده است. بسیاری آن را با مفهوم فوروارد پراکسی که عموماً آن را بهصورت خلاصه، پراکسی مینامیم، اشتباه میگیرند. به همین دلیل قبل از اینکه وارد بحث reverse proxy شویم کمی در رابطه با forward proxy صحبت میکنیم.
بیشتر بدانید:
- مقایسه Forward Proxy و Reverse Proxy
- مقایسه Forward Proxy و NAT
- همکاری کلاودفلر و اپل در ساخت یک پروتکل جدید برای افزایش حریم خصوصی
پراکسی سرور چیست؟
یک فوروارد پراکسی (Forward Proxy) که اغلب با نامهای پراکسی، پراکسی سرور و وب پراکسی نیز شناخته میشود، سروری است که در مقابل یک گروه از کاربران قرار میگیرد. وقتی این کاربران از طریق کامپیوتر خود درخواستی برای یک سایت یا سرویس در اینترنت ارسال میکنند، پراکسی سرور این ارتباط را قطع کرده و خودش از طرف آن کامپیوترها، درخواست جدیدی را ارسال میکند، درست به مانند مردمیانی (Middleman).
جریان ترافیک فوروارد پراکسی را میتوانید در شکل زیر مشاهده نمایید:

اما چه دلیلی وجود دارد که کسی بخواهد از این سرور میانی استفاده کند. عموماً به خاطر یکی از سه دلیل زیر ممکن است از فوروارد پراکسی استفاده شود.
- برای فرار از محدودیتهای ایجاد شده توسط سازمانها یا دولتهای خاص که از طریق فایروال انجام میدهند.
- برای ایجاد محدودیت دسترسی به بعضی از بخشها. برای مثال ایجاد محدودیت در دسترسی به شبکههای اجتماعی در داخل یک سازمان از طریق این نوع پراکسی امکان پذیر است.
- برای پنهان کردن هویت واقعی در محیط اینترنت
Reverse Proxy چقدر با فوروارد پراکسی متفاوت است؟
همانطور که در بالا توضیح دادیم یک پراکسی معکوس، سروری است که تنها در جلوی یک یا چند وب سرور قرار میگیرد و درخواستهای ارسالی کاربران به آنها را دریافت کرده و ارتباط مستقیم بینشان را قطع میکند. همانطور که مشخص است، عملکرد آن با فوروارد پراکسی متفاوت است که در جلوی کاربران قرار میگیرد. تفاوت این دو، نامحسوس اما بسیار مهم است.
در Reverse Proxy وقتی یک کاربر درخواستی را برای یک وب سرور ارسال میکند، ارتباط توسط این پراکسی معکوس، قطع شده و خودش درخواست را برای وب سرور ارسال و از آن پاسخ را دریافت کرده و درنهایت آن را برای کاربر ارسال میکند.
جریان ترافیک Reverse Proxy را میتوانید در شکل زیر مشاهده نمایید:

مزایای استفاده از Reverse Proxy عبارت است از:
- Load Balancing
- Protection from attacks
- Global Server Load Balancing (GSLB)
- Caching
- SSL encryption
بسیاری از سازمانها سرور Reverse Proxy اختصاصی برای خود راهاندازی میکنند. برای اینکار میتوانید از نرم افزارهایی مانند HAProxy یا Nginx استفاده نمایید. علاوه بر این میتوانید برای استفاده از تمامی مزیتهای یک Reverse Proxy، از CDNهای موجود در اینترنت نیز استفاده کنید که میتوانند امنیت سایت شما را بسیار بالا ببرند. نمونه بسیار شناخته شده خارجی این نوع CDN، شرکت CloudFlare و نمونه ایرانی، ابرآروان است.
براساس یک بررسی انجام شده توسط w3techs در سال ۲۰۲۱، درصد سهم معروفترین ارائه دهندگان خدمات CDN عبارت است از:

همانطور که مشاهده مینمایید CloudFlare توانسته با سهم بزرگی یعنی بیشتر از ۸۰ درصد، با فاصله بسیار زیادی از سایر رقبا در رتبه اول قرار بگیرد. همچنین ArvanCloud نیز به عنوان یک شرکت ایرانی در رتبه هشتم این رتبه بندی قرار گرفته است.
پرسش و پاسخ
تفاوت بین پراکسی و پراکسی معکوس چیست؟
فوروارد پراکسی، سروری است که در مقابل یک گروه از کاربران قرار میگیرد. وقتی این کاربران از طریق کامپیوتر خود درخواستی برای یک سایت یا سرویس در اینترنت ارسال میکنند، پراکسی سرور این ارتباط را قطع کرده و خودش از طرف آن کامپیوترها، درخواست جدیدی را ارسال میکند. اما پراکسی معکوس، سروری است که تنها در جلوی یک یا چند وب سرور قرار میگیرد و درخواستهای ارسالی کاربران به آنها را دریافت کرده و ارتباط مستقیم بینشان را قطع میکند.
آیا می توان از پراکسی معکوس به عنوان Load Balancer استفاده کرد؟
پراکسی معکوس میتواند یک درخواست از یک کاربر را گرفته، سپس آن را با مکانسیمی که ما تعیین میکنیم، به یک سرور از مجموعه سرورهایی که تعیین شده، ارسال کند و پاسخ سرور را به مشتری بر گرداند. پس همانطور که مشاهده مینمایید ما میتوانیم با پیکربندی خود، یک پراکسی معکوس را به load balancer نیز تبدیل نماییم.
دی ۹۹





سلام ممنون جالب بود