نصب Nginx به عنوان Reverse Proxy

خوش اومدید به مقاله آموزش نصب Nginx به عنوان Reverse Proxy از مجموعه ابرآس
راهنمای مقاله
Toggleآشنایی با Nginx
NGINX یک وب سرور با کارایی بالا است که به دلیل پایداری، ویژگیهای غنی و مصرف کم منابع شناخته شده است. به عنوان یک پروکسی معکوس، به عنوان یک واسطه برای درخواست های مشتری به سرورهای پشتیبان عمل می کند و امنیت، عملکرد و مقیاس پذیری اپلیکیشن های تحت وب را افزایش می دهد.
از دیدگاه کاربر، تعامل با یک پروکسی معکوس با تعامل مستقیم با سرور برنامه تفاوتی ندارد. از نظر عملکردی یکسان است و مشتری نمی تواند تفاوت را تشخیص دهد. یک کلاینت منبعی را درخواست میکند و سپس آن را دریافت میکند، بدون اینکه هیچ پیکربندی اضافی مورد نیاز کاربر باشد.
در این مقاله، با سرور پروکسی معکوس NGINX، نقش آن در معماری های وب مدرن و مراحل راه اندازی آن آشنا خواهید شد. ما شما را از طریق فرآیند نصب و پیکربندی راهنمایی میکنیم تا مطمئن شویم اپلیکیشن های شما کارآمدتر و ایمنتر اجرا میشوند.
نیازمندی
- برای ادامه آموزش نصب Nginx به عنوان Reverse proxy نیازه که شما یک سرور Ubuntu یا سیستم عامل مدنظرتون در دسترس داشته باشین.
- وب سرور Nginx برای دریافت و پردازش درخواست های کاربر
نصب Nginx
Nginx برای نصب با apt از طریق ریپازیتوری پیش فرض در دسترس است. فهرست ریپازیتوری خود را به روز کنید، سپس Nginx را نصب کنید.
sudo apt update sudo apt install nginx -y
دسترسی فایروال
در صورتی که فایروال سیستم عامل فعال است شما باید از طریق فایروال خود اجازه دسترسی به انجینیکس را بدهید. پس از راه اندازی سرور خود بر اساس پیش نیازهای اولیه سرور، قانون زیر را با ufw اضافه کنید. (در سرور های Ubuntu)
sudo ufw allow 'Nginx HTTP'
بررسی عملکرد وب سرور Nginx
بعد از نصب موفق وب سرور Nginx که در مراحل بالا اشاره شد میتونید با کمک دستور زیر وضعیت سرویس انجینیکس رو بررسی کنید.
systemctl status nginx
یا اجرای دستور بالا خروجی مانند زیر مشاهده خواهید کرد که نشان از عمکلرد درست وب سرور انجینیکس می باشد.
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-08-29 06:52:46 UTC; 39min ago Docs: man:nginx(8) Main PID: 9919 (nginx) Tasks: 2 (limit: 2327) Memory: 2.9M CPU: 50ms CGroup: /system.slice/nginx.service ├─9919 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" └─9920 "nginx: worker process
راه اندازی پراکسی
برای ایجاد پراکسی معکوس (Reverse Proxy) با کمک Nginx نیازه که ابتدا کانفیگ های مربوط به Nginx رو انجام بدیم. برای اینکار می تونید از دستورات زیر پیروی کنید.
ایجاد فایل کانفیگ
یک فایل جدید در دایرکتوری /etc/nginx/sites-available/ با استفاده از یک ویرایشگر مانند Vim ایجاد کنید.
sudo vim /etc/nginx/sites-available/abrus-proxy
در ادامه تنظیمات مربوط به پراکسی را در فایل ایجاد شده ذخیره کنید. در این مثال ما از اپلیکیشینی استفاده می کنیم که روی پورت 8000 به درخواست های کاربر پاسخ می دهد.
server { listen 80; server_name abrus.org; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
بررسی کانفیگ ها
- listen 80: سرور به درخواست های HTTP ورودی در پورت 80 گوش می دهد.
- server_name abrus.org: نام دامنه ای که سرور مسئول آن است. در این مثال از آدرس abrus.org برای نشان دادن نحوه عملکرد پروکسی معکوس استفاده می شود.
- proxy_pass http://127.0.0.1:8000: سرور بک اند که وب سرور انجینیکس به آن درخواست ها را ارسال می کند. در این مثال انجینیکس از آدرس میزبان محلی در پورت 8000 (127.0.0.1:8000) به عنوان یک بک اند جایگزین استفاده می کند. در یک سناریوی عملیاتی از یک URL سرور واقعی استفاده کنید.
لینک کردن کانفیگ ها
بعد از اعمال تغییرا مدنظر فایل پیکربندی جدید را پیوند داده و با دستور زیر فعال کنید.
sudo ln -s /etc/nginx/sites-available/abrus-proxy /etc/nginx/sites-enabled/
تست عملکرد Nginx
برای اصمنیان از اینکه همه چی به خوبی پیش رفته می تونید از دستور زیر کمک بگیرید.
sudo nginx -t
پراکسی کردن اپلیکیشن
برای نشان دادن نحوه عمکلرد سرویس پراکسی انجینیکس نیازه که از این اپلیکیشن تستی کمک بگیریم برای اینکار می تونید از دستورات زیر کمک بگیرید.
vim index.html
بعد از ایجاد فایل اشاره شده کد های HTML زیر را وارد کنید و سپس فایل ایجاد شده را ذخیره نمایید.
<html> <head> <title>NGINX backend</title> </head> <body> <h1>It works!</h1> </body> </html>
اجرای اپلیکیشن
بعد از ذخیره فایل HTML می تونیم اپلیکیشن خودمون رو اجرا کنیم, برای اینکار از دستور زیر کمک بگیرید.
python3 -m http.server
نکته
با اجرای دستور بالا یک سرویس پایتونی اجرا می شود که روی پورت 8000 به درخواست های کاربر پاسخ می دهد, اگر پورت 8000 در حال حاضر روی سیستم استفاده شده است می تونید در انتهای دستور بالا پورت مدنظر خودتون رو وارد کنید.
در انتها با مرورگر خود به آدرسی که وب سرور انجینیکس رو کانفیگ کردید دسترسی پیدا کنید. (در این مثال آدرس abrus.org استفاده شد)
به پایان مقاله آموزش نصب Nginx به عنوان Reverse Proxy از مجموعه ابرآس رسیدیم, ممنون که وقت گذاشتی و تا اینجای مقاله همراهمون بودی.
میدونستی با اشتراک گذاری این مقاله میتونی از ما حمایت کنی!