آنچه در این مقاله میخوانید
Reverse proxy چیست؟
۱۱ اردیبهشت ۱۴۰۱
در اکثر مواقع Reverse proxy (پروکسی معکوس)، سروری است که درخواستهای کاربران بهصورت مستقیم به آن ارسال میشود و هدایت ترافیک ورودی به سرورهای اصلی توسط Reverse proxy انجام خواهد شد. لازم به ذکر است که کاربران متوجه حضور Reverse proxy نمیشوند و معمولا برای افزایش امنیت، بهبود عملکرد و دسترسیپذیری حداکثری از Reverse proxy استفاده میشود اما بهتر است قبل از پرداختن به جزئیات، با Forward proxy آشنا شویم.
در ادامه میخوانید:
- Reverse proxy چیست؟
- Forward proxy چیست؟
- مقایسه Reverse proxy با Forward proxy
- Reverse proxy چگونه کار میکند؟
- مزایای Reverse proxy چیست؟
- جمعبندی
- سوالات متداول

Reverse proxy چیست؟
Reverse Proxy یا پروکسی معکوس، نوعی سرور واسطه است که برخلاف پروکسیهای معمولی (Forward Proxy) که برای محافظت از کاربران و مخفی کردن هویت آنها طراحی شدهاند، هدف اصلیاش افزایش امنیت و کارایی سرورهاست. در این روش، پروکسی معکوس درخواستهای ارسالی از سوی کلاینتها (کاربران) را دریافت کرده و آنها را به یکی از سرورهای پشتی ارسال میکند. سپس پاسخ دریافتی از سرور مقصد را به کلاینت بازمیگرداند، بهگونهای که برای کاربر نهایی تفاوتی با پاسخ مستقیم از سرور اصلی وجود ندارد. این در حالی است که Forward Proxy برای عبور چندین کاربر از یک شبکه داخلی به شبکهای خارجی استفاده میشود و بیشتر جنبه محافظتی برای کاربران دارد.
Forward proxy چیست؟
Forward proxy معمولا با نامهای دیگری مانند پروکسی، پروکسی سرور و یا وب پروکسی شناخته میشود و کاربران میتوانند به انتخاب خود از Forward proxy استفاده کنند. Forward proxy درخواستهای کاربران را دریافت کرده و مانند یک واسطه، از طرف کاربران با سرورهای دیگر در بستر اینترنت ارتباط برقرار میکند.
برای درک بهتر به تصویر زیر دقت کنید:
- A: کاربرانی که با استفاده از رایانه و یا موبایلهای هوشمند به اینترنت متصل میشوند.
- B: سرور Forward proxy که کاربران میتوانند به انتخاب خود از آن استفاده کنند.
- C: سرورهای یک وبسایت که دادهها در آنها ذخیره میشوند و این سرورها مسئولیت پردازش درخواستها را برعهده دارند.

در یک ارتباط اینترنتی استاندارد، درخواستها بهصورت مستقیم از دستگاه هوشمند کاربران (A) به سمت سرورهای اصلی وبسایت (C) ارسال میشود و سرور نیز به مبدا درخواستها پاسخ میدهد اما هنگامی که یک Forward proxy وجود داشته باشد، درخواستها از دستگاه هوشمند کاربران (A) به Forward proxy (B) ارسال میشود و Forward proxy (B) است که درخواستها را به سرورهای اصلی وبسایت (C) ارسال میکند. به این شکل سرور وبسایت (C) پاسخ درخواستها را به مبدا درخواست یعنی Forward proxy (B) ارسال میکند و سپس Forward proxy (B) تصمیم میگیرد که کدام پاسخ را باید به کدام کاربر (A) ارسال کند.
شاید برایتان سوال شود که در این صورت چرا باید از Forward proxy استفاده کرد؟ دلایل مختلفی برای استفاده از Forward proxy وجود دارد و بهطور مثال میتوانیم به موارد زیر اشاره کنیم.
- برای عبور از محدودیتهای اعمال شده
- برای مسدود کردن دسترسی به محتوای خاص
- برای محافظت از هویت خود در فضای اینترنت
مقایسه Reverse proxy با Forward proxy
Reverse proxy در مقابل سرورهای اصلی قرار دارد بنابراین درخواستها در ابتدا به Reverse proxy ارسال میشوند و هدایت ترافیک به سرورهای اصلی توسط Reverse proxy انجام خواهد شد. بنابراین Reverse proxy با یک Forward proxy که در مقابل درخواستهای کاربران قرار میگیرد، متفاوت است.
بهطور خلاصه میتوان گفت که Forward proxy در مقابل درخواست کاربران قرار دارد و تضمین میکند که سرور اصلی هرگز بهطور مستقیم با آن کاربر بهخصوص ارتباط برقرار نکند. از طرف دیگر یک Reverse proxy در مقابل سرورهای اصلی قرار میگیرد و تضمین میکند که هیچ کاربری مستقیما با سرورهای اصلی سایت ارتباط برقرار نمیکند.
برای آشنایی با مفهوم لود بالانسینگ (Load balancing) و نحوه کارکرد آن، مقاله زیر را بخوانید.
لود بالانسینگ (Load balancing) چیست؟
Reverse proxy چگونه کار میکند؟
برای درک بهتر به تصویر زیر دقت کنید:
- D: کاربرانی که با استفاده از رایانه و یا موبایلهای هوشمند به اینترنت متصل میشوند.
- E: سرور Reverse proxy که در مقابل سرورهای اصلی قرار گرفته است.
- C: سرورهای یک وبسایت که دادهها در آنها ذخیره میشوند و این سرورها مسئولیت پردازش درخواستها را برعهده دارند.

در یک ارتباط اینترنتی استاندارد انتظار میرود تا درخواستها بهطور مستقیم از دستگاه هوشمند کاربران (D) به سمت سرورهای اصلی وبسایت (F) ارسال شوند و پاسخ هر درخواست نیز بهصورت مستقیم به مبدا درخواست ارسال شود. با استفاده از Reverse proxy تمام درخواستهای کاربران (D) توسط Reverse proxy (E) دریافت میشود و مسئولیت هدایت ترافیک ورودی به سمت سرورهای اصلی (F) برعهدهی Reverse proxy است. بهاین شکل، پاسخ هر درخواست از سمت سرورهای اصلی وبسایت (F) به Reverse proxy (E) ارسال شده و سپس پاسخ درخواستهای کاربران از Reverse proxy (E) به سمت دستگاه هوشمند کاربران (D) ارسال میشود.
مزایای Reverse proxy چیست؟
برخی از مزایا Reverse proxy عبارتند از:
لود بالانسینگ (Load balancing)
یک وبسایت محبوب که روزانه میلیونها کاربر جدید دارد نمیتواند تمام ترافیک ورودی را با یک سرور مدیریت کند. در این حالت با پیادهسازی Reverse proxy با عنوان لود بالانسر میتوان ترافیک ورودی را بین سرورهای مختلف توزیع کرد و از درگیر شدن ۱۰۰ درصدی منابع سرور جلوگیری کرد. همچنین درصورتی که یک سرور بهطور کامل از مدار خارج شود میتوان ترافیک را بین سرورهای دیگر تقسیم کرد.
محافظت از سرورهای اصلی در برابر حملات مهاجمین
با وجود یک Reverse proxy معمولا نیازی به ذکر آیپی سرورهای اصلی نیست و به این شکل، کار مهاجمان برای پیادهسازی حملهی DDOS سختتر میشود.
لود بالانسینگ در سرتاسر جهان (GSLB)
در این نوع از لود بالانسینگ، یک وبسایت میتواند بر روی چندین سرور در سرتاسر جهان توزیع شود و Reverse proxy درخواست کاربران را به سروری که از نظر جغرافیایی به آنها نزدیکتر است، ارسال کند.
بهبود عملکرد با Caching
یک Reverse proxy میتواند محتوا را Cache کرده و درنتیجه عملکرد سریعتری را به ارمغان بیاورد. برای مثال فرض کنید یک کاربر در تهران از یک وبسایت که سرورهای آن در برلین قرار دارند، بازدید کند. درصورتی که GSLB پیادهسازی شده باشد، کاربر با یک Reverse proxy محلی در تهران ارتباط برقرار میکند و سرور Reverse proxy با سرور اصلی در برلین ارتباط برقرار خواهد کرد. در این مثال Reverse proxy میتواند پاسخ سرور برلین به درخواستها را Cache کند، در نتیجه دیگر کاربران تهران میتوانند پاسخ درخواستهایشان را با سرعت بیشتری دریافت کنند.
رمزنگاری ترافیک با SSL
رمزنگاری و رمزگشایی ترافیک با SSL میتواند از نظر محاسباتی برای یک سرور گران باشد اما یک Reverse proxy را میتوان برای رمزگشایی تمام درخواستهای دریافتی و رمزنگاری تمام پاسخهای خروجی پیکربندی کرده و از درگیر شدن منابع سرور اصلی جلوگیری کرد.
جمع بندی
در این مقاله از لیارا، دو نوع پروکسی معرفی شده است: Reverse Proxy و Forward Proxy. Reverse Proxy به سروری گفته میشود که درخواستهای کاربران را دریافت کرده و ترافیک ورودی را به سرورهای اصلی هدایت میکند، بهطوری که کاربران هیچگاه مستقیماً با سرور اصلی ارتباط برقرار نمیکنند. این نوع پروکسی برای بهبود امنیت، عملکرد و دسترسیپذیری سایتها مورد استفاده قرار میگیرد. Forward Proxy نیز پروکسی است که کاربران بهصورت انتخابی از آن استفاده میکنند و درخواستها را از طرف کاربر به سرورهای دیگر ارسال میکند، این نوع پروکسی برای عبور از محدودیتهای اعمالشده یا حفظ حریم خصوصی مفید است. در مقایسه با Forward Proxy، Reverse Proxy در مقابل سرورهای اصلی قرار دارد و نه تنها از سرورهای اصلی در برابر حملات مهاجمی مانند DDOS محافظت میکند، بلکه با استفاده از قابلیتهایی همچون لود بالانسینگ، کَشینگ، رمزنگاری SSL و GSLB (Global Server Load Balancing)، میتواند عملکرد و سرعت سایت را بهبود دهد. بهعنوان مثال، در صورتی که وبسایتی بخواهد از سرورهای مختلف در نقاط جغرافیایی مختلف استفاده کند، Reverse Proxy میتواند درخواستها را به سرور نزدیکتر به کاربر هدایت کرده و تجربه کاربری بهتری را ایجاد کند.
سوالات متداول
تفاوت بین پروکسی معکوس (Reverse Proxy) و پروکسی مستقیم (Forward Proxy) چیست؟
پروکسی مستقیم برای پنهان کردن هویت کاربران و مدیریت ترافیک خروجی از سمت کلاینت به کار میرود، در حالی که پروکسی معکوس برای محافظت، توزیع بار، و افزایش کارایی سمت سرور طراحی شده است.
چرا از پروکسی معکوس استفاده کنیم؟
پروکسی معکوس به دلایل مختلفی مانند افزایش امنیت، توزیع بار (Load Balancing)، کش کردن محتوا، و مخفی کردن ساختار داخلی سرورها استفاده میشود.
آیا پروکسی معکوس به افزایش امنیت سرور کمک میکند؟
بله، چون آدرس و ساختار واقعی سرورهای پشتی را پنهان میکند و تنها خودش در معرض ارتباط مستقیم با کاربران قرار دارد.
چه شرکتها یا سایتهایی معمولاً از پروکسی معکوس استفاده میکنند؟
سایتهای پرترافیک، سرویسهای ابری، فروشگاههای آنلاین، و شرکتهایی که چندین سرور دارند برای مدیریت بهتر ترافیک و امنیت از پروکسی معکوس بهره میبرند.
معروفترین نرمافزارهای پیادهسازی پروکسی معکوس کدامند؟
از محبوبترین ابزارها میتوان به Nginx، HAProxy، و Apache HTTP Server اشاره کرد که در پروژههای بزرگ هم استفاده میشوند.
آیا پروکسی معکوس روی سرعت سایت تأثیر دارد؟
بله، در بسیاری موارد با استفاده از کش کردن محتوا و توزیع مناسب ترافیک، سرعت پاسخدهی سرور و تجربه کاربری بهبود پیدا میکند.
منبع: https://www.cloudflare.com/en-gb/learning/cdn/glossary/reverse-proxy