تعداد بازدید: 455
How to Setup Apache Reverse Proxy for Node.js App
فرض کنید برنامه نودجی اس یا هر نرم افزار دیگری را روی domain.ir:3000 اجرا کرده اید. حال می خواهید این برنامه روی domain.ir اجرا شود. برای این کار از reverse proxy استفاده می کنیم.
نکته1: دامنه اصلی را در پورت 80 که http است و پورت 443 که https است ریورس کنید. ولی ip سایت را برای phpmyadmin نگه دارید. در این صورت وقتی کسی domain.ir را بزند وارد برنامه نود جی اس خواهد شد ولی اگر IP سایت را بزند (ip/phpmyadmin) وارد بخش مدیریت phpmyadmin خواهد شد.
نکته2: برنامه نود خود را توسط pm2 یا forever توسط ssh به صورت دائمی استارت بزنید.
VirtualHost را در آپاچی پیکربندی کنید
همانطور که یک سرور نمایشی Node.js را پیکربندی و اجرا کرده اید. اکنون پیکربندی را با وب سرور آپاچی شروع کنید. یک فایل پیکربندی میزبان مجازی برای دامنه خود در پوشه /etc/apache2/sites-available/ ایجاد کنید.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
ProxyPreserveHost On
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
نتیجه
در این پست ، در مورد اینکه چرا باید پراکسی معکوس را راه اندازی کنید و چگونه می توانید Apache Reverse Proxy را برای برنامه Node.js خود راه اندازی کنید، بحث کردیم. اکنون که می دانید چگونه Apache Reverse Proxy را برای برنامه Node.js خود راه اندازی کنید، می توانید مطمئن باشید که برنامه شما برای هر کسی که می خواهد به آن دسترسی داشته باشد قابل دسترسی خواهد بود. از طرف دیگر، Nginx به عنوان یک سرور پروکسی عملکرد بهتری دارد، بنابراین اگر با Apache محدود نیستید، با سرور پراکسی Nginx این کار را انجام دهید.