Setup reverse proxy using nginx in linux

  • فرض کنید یک وب سایت با وب سرور آپاچی راه اندازی شده است.
  • بهتر است در جلوی این وب سایت یک Reverse Proxy قرار بگیرد.
  • دلیل این امر را می‌توان موارد زیر دانست :
    • پیاده سازی لود بالانس : می‌توان در کنار عمل reverse proxy به چندین وب سرور اشاره کرد در این صورت در کنار استفاده از مزیت‌های reversr proxy می‌توان از قابلیت load balancing نیز استفاده نمود.
    • بالا رفتن امنیت : از آن جایی که وب سرور در پشت سر reverse proxy قرار می‌گیرد، تاثیر حملاتی نظیر DDOS کمتر می‌شود.
    • بهبود کارایی : تعدادی از درخواست‌های ایستای کاربران توسط reverse proxy پاسخ داده می‌شود در نتیجه بار روی وب سرور اصلی کاسته می‌شود. در این حالت کارایی بهبود پیدا می‌کند.
    • مدیریت بهتر لاگ‌ها : از آنجایی که تمام درخواست‌ها ابتدا وارد reverse proxy وارد می‌شود، لذا می‌توان تمام لاگ‌ها را در همان reverse proxy مشاهده و مانیتور کرد.

  • فرض کنید که :
    • وب سرور اصلی با آدرس 192.168.134.150 با وب سرور آپاچی در دسترس است.
    • سرور reverse proxy با آدرس 192.168.134.149 در دسترس است.
  • ابتدا وارد سرور reverse proxy شده و بسته‌ها را بروز رسانی کنید :
# apt-get update ; apt-get -y dist-upgrade
  • سپس بسته‌ی nginx را نصب کنید :
# apt-get -y install nginx
  • پرونده‌ی زیر را ایجاد و آن را با یک ویرایشگر باز کنید :
# touch /etc/nginx/site-available/reverse_proxy.conf
  • محتویات زیر را برای پرونده‌ی بالا در نظر بگیرید :
server {
    listen 80;

    access_log /var/log/nginx/reverse-access.log;
    error_log /var/log/nginx/reverse-error.log;

    location / {
        proxy_pass http://192.168.134.150;
    }
}
  • عدد 80 در متن بالا اشاره به این دارد که reverse proxy بر روی چه پورتی خدمات ارایه دهد.
  • در صورتی که پورت وب سرور آپاچی چیزی جز 80 بود (مثلا 8080) آن را به شکل زیر وارد کنید :
...
 proxy_pass http://192.168.134.150:8080;
...
  • در نهایت یک بار سرویس nginx را راه اندازی مجدد کنید :
# systemctl restart nginx

  • تست شده بر روی ubuntu 18.04
  • مطالعه‌ی بیشتر در اینجا | PDF

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *