راه اندازی Nginx به عنوان Reverse Proxy
Reverse Proxy سرویسی می باشد که درخواست کاربران رو به یک یا چند سرور دیگر می فرستد و در نهایت پاسخ رو از آن سرور ها گرفته و به کاربر بر می گرداند. از اونجایی که Nginx کارایی و مقیاس پذیری بالایی دارد این وب سرور رو معمولا در این حالت یعنی به عنوان Reverse Proxy در جلوی HTTP سرور ها و یا غیر HTTP سرور ها قرار می دهند.
از پر استفاده ترین کانفیگ ها که انجین ایکس رو به عنوان Reverse Proxy قرار می دهند می توان به قرار دادن این وب سرور در جلوی نرم افزار های Node.js، Python، Java، Apache + PHP نام برد. در این مقاله به راه اندازی Nginx به عنوان Reverse Proxy می پردازیم، با ما همراه باشید.
پیش نیاز ها
نصب بودن انجین ایکس بر روی یکی از توزیع های لینوکس مانند سنت او اس یا اوبنتو
استفاده از انجین ایکس به عنوان Reverse Proxy
در اوبنتو و سیستم عامل های مبتنی بر Debian فایل کانفیگ در مسیر زیر قرار دارد :
1 | /etc/nginx/sites-available |
در سنت او اس در مسیر زیر :
1 | /etc/nginx/conf.d |
ابتدا فایل کانفیگ بلاک سرور دامنه رو با یک ویرایشگر مانند nano باز کنید :
1 2 3 4 5 6 7 8 | server { listen 80; server_name www.example.com example.com; location /app { proxy_pass http://127.0.0.1:8080; } } |
سپس یک location و یک سرور (مقدار proxy_pass) که قرار است درخواست ها به آن ارسال شود را در درون آن مانند بالا تعریف می کنیم.
کانفیگ بالا به معنی این می باشد که انجین ایکس تمامی درخواست هایی که برای /app ارسال می شود رو به سروری در http://127.0.0.1:8080 پاس می دهد.
برای درک بهتر می توانید کانفیگ زیر رو نیز در نظر بگیرید :
1 2 3 4 5 6 7 8 | server { listen 80; server_name www.example.com example.com; location /blog { proxy_pass http://node1.com:8000/wordpress/; } } |
در کانفیگ بالا اگر بازدید کننده آدرس http://example.com/blog/my-post رو باز کند، انجین ایکس درخواست رو به http://node1.com:8000/wordpress/my-post پاس می دهد و پاسخ رو از اون سرور دریافت و در نهایت به بازدیدکننده ارسال می کند.
قطعا کانفیگ بالا ساده ترین کانفیگ ممکن برای انجین ایکس به عنوان پراکسی معکوس می باشد که در این مقاله بیشتر تمرکز ما بیشتر برای درک مطلب بوده است.
از کانفیگ های دیگر می توان پاس دادن درخواست به سرور های غیر http مانند php-fpm، memcached و یا کانفیگ به صورتی که درخواست هایی که فایل php باید کامپایل شود به آپاچی پاس داده شود و داده های استاتیک رو خود انجین ایکس پاسخ دهد نام برد.
[line]
تیم فنی آلما هاست، در تمام ایام سال به صورت 24 ساعته در خدمت شما هستند تا برای خرید سرور مجازی شما را یاری کنند و مناسب ترین آفر های موجود را برای شما متناسب با نیازتان ارائه کنند. برای دریافت آخرین آفر های ویژه و تخفیف های ما، می توانید از طریق تیکت با ما در ارتباط باشید تا آفر های موجود را بر اساس نیاز شما برایتان ارسال کنیم.
پرتال کاربری آلما هاست ( پاسخگویی 24 ساعته ) : پورتال مشتریان آلما هاست