Reverse Proxy (پروکسی معکوس) چیست؟

Reverse Proxy (پروکسی معکوس) چیست؟

سرور Reverse Proxy، یک نقطه اتصال میانی ​​است که در لبه شبکه قرار دارد. این سرور درخواست های اتصال اولیه HTTP را دریافت می کند و مانند یک سرور اصلی عمل می کند.

Reverse Proxy نگهبان شبکه ی شماست که به عنوان یک دروازه بین کاربران و سرور اصلی برنامه عمل می کند که به این ترتیب مدیریت تمام سیاست ها و مسیریابی ترافیک را انجام می دهد.

مراحل کار Reverse Proxy به صورت زیر است:

  • دریافت درخواست اتصال کاربر
  • تکمیل فرایند برقراری اتصال باthree-way handshake در پروتکل TCP و متوقف کردن اتصال اولیه
  • اتصال به سرور اصلی و ارسال درخواست به آن

 Forward Proxy

سرور Forward Proxy نیز مانند Reverse Proxy در لبه شبکه قرار دارد، اما ترافیک خروجی را با توجه به سیاست های پیش فرضی که در shared network تعیین شده است، تنظیم می کند. سرور Forward Proxy، آدرس IP مشتری را پنهان کرده و از ورود ترافیک های مخرب به سرور جلوگیری می کند. 

Forward Proxy به طور معمول توسط سازمان های بزرگ مانند دانشگاه ها و شرکت ها به صورت داخلی استفاده می شود و خدمات زیر را عرضه می کند:

  • امکان بازدید از وب سایت ها را به کارکنان نمی دهد
  • امکان نظارت بر فعالیت آنلاین کارکنان را فراهم می کند
  • از رسیدن ترافیک های مخرب به سرور اصلی جلوگیری می کند
  • با cache کردن محتوای سایت ها تجربه ی کاربری را بهبود می دهد

CDN ها چگونه از Reverse Proxy استفاده می کنند؟

شبکه های تحویل محتوا (CDN) از تکنولوژی Reverse Proxy استفاده می کنند. CDN ها جلوی سرور های Backend قرار می گیرند. قرار گرفتن CDN ها در لبه ی شبکه، چندیدن مزیت کلیدی را علاوه بر سرعت بخشیدن در تحویل محتوا به کاربر ایجاد می کند.

امروزه توپولوژی Reverse Proxy توسط CDN های چند منظوره(multi-purpose) برای ارائه انواع راه حل های زیر استفاده می شود:

  • Cache کردن محتوا

Reverse Proxy ها در چندین مکان پراکنده جغرافیایی قرار می گیرند و نسخه های کپی شده از صفحه های وب سایت شما را در آنجا فشرده سازی و cache می کنند. با این تکنیک تحویل محتوا بر اساس موقعیت جغرافیایی مشتری سریع تر انجام می شود. این افزایش سرعت به کاهش زمان بارگذاری صفحه و بهبود تجربه ی کاربری کمک می کند.

  • فیلتر کردن ترافیک

Reverse Proxy ها در جلوی سرورهای اصلی قرار دارند و این موقعیت مکانی یک جای ایده آل برای تمیز کردن تمام ترافیک قبل از ارسال به سرورهای اصلی است. 

این اتفاق مزایای زیر را فراهم می کند:

                     - امنیت وب سایت

امنیت سایبری، محافظت از دسترسی غیر مجاز به سیستم های متصل به اینترنت مانند سخت افزار، نرم افزار و مراکز داده و سایر سیستم های کامپیوتری است. 

Reverse Proxy  یک مکان ایده آل برای قرار دادن فایروال نرم افزاری تحت وب (WAF) است. WAF، تمام بسته های ورودی را به خوبی بررسی می کند تا تهدیدات را شناسایی و مسدود کند و از رسیدن آتها به سرور اصلی جلوگیری کند.
Reverse Proxy به عنوان یک حصار امنیتی مجازی عمل می کند و از حمله ی هکرها به وب سایت و برنامه وب جلوگیری می کند.

                    - مسدود کردن حملات DDoS

موقعیت Reverse Proxy در لبه ی شبکه، که بین مهاجم و سرور هدف قرار دارد، یک مکان ایده آل برای مسدود کردن حمله های DDoS است. 

  • پنهان کردن IP سرور اصلی

هنگام استفاده از یک سرور با توپولوژی Reverse Proxy  ترافیک ورودی از طریق سرورReverse Proxy  وارد می شود، یعنی ابتدا اتصال توسط پروکسی قطع شده و دوباره خود پروکسی اتصالی را با سرور Backed برقرار می کند، از این رو کاربران شما تصور می کنند که درخواست آنها، از طریق IP پروکسی پاسخ داده شده است. در نتیجه، آدرس IP سرور اصلی شما پنهان می ماند. با این تکنیک هکر ها بسیار دشوارتر به IP سرور اصلی، برای حمله های مستقیم به IP، دسترسی پیدا می کنند.

  • load balancing

چون سرور Reverse Proxy بین کاربران و سرور اصلی قرار دارد این سرور می تواند هر درخواستی را هدایت کند. این قابلیت باعث می شود که سرور Reverse Proxy بتواند برای نرم افزارهایی که چند سرور Backend دارند توزیع بار موثری داشته باشد، یعنی در زمان هایی که درخواست های زیادی به سمت محصول می آید تعادل را بین سرور های محصول حفظ کند. در نتیجه ی این کار سرعت تحویل محتوا به کاربر، حتی در زمان هایی که درخواست ها به سمت محصول زیاد هست هم مناسب بوده و تجربه ی کاربری بهتری رقم می خورد.