بسم الله ارحمن الرحیم
من یک وب اپلیکیشن روی سرور لینوکس خودم دارم که روی پورت 5143 اجرا میشه حالا میخوام از nginx استفاده کنم و هر درخواستی که روی پورت 80 سرور من میاد رو منتقل کنم به پورت 5143.
برای اینکار اول باید nginx رو نصب کنم
sudo apt update sudo apt install nginx
ساخت یک کانفیگوریشن جدید برای سایت
فرض کنید که سرور شما به یک دامنه وصل است "example.ir" برای ساخت کانفیگ nginx باید یک فایل جدید هم نام دامنه در مسیر "/etc/nginx/sites-available/"بسازید
با دستور زیر میتوانید اینکار را انجام دهید.بجای example.ir نام دامنه خود را بنویسید
sudo nano /etc/nginx/sites-available/example.ir
درون فایل بالا تنظیمات زیر را وارد کنید و ذخیره کنید.
server {
listen 80;
server_name example.ir www.example.ir;
location / {
proxy_pass http://localhost:5143;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
برای فعال کردن این تنظیمات باید یک نمونه در پوشه sites-enabled از این کافنیگ ایجاد کنید برای اینکار از دستور زیر استفاده کنید. بجای example.ir نام دامنه خود را وارد کنید.
sudo ln -s /etc/nginx/sites-available/example.ir /etc/nginx/sites-enabled/
با استفاده از nginx -t مطمعن شوید که اشتباهی در تنظیمات وجود ندارد
و در اخر با استفاده از systemctl reload nginx برنامه را ریلود کنید تا تنظیمات جدید اعمال شود.
از این پس هر ورودی که به پورت 80 می آید به صورت مستقیم به پورت 5143 منتقل میشود.
ابتدا باید certbot را نصب کنید
sudo apt install certbot python3-certbot-nginx
دریافت گواهی ssl .بجای example.ir نام دامنه خود را بنویسید
sudo certbot --nginx -d example.ir -d www.example.ir
و تمام.شما به همین راحتی یک گواهی Ssl رایگان دریافت میکنید و میتوانید سایت خود را به صورت امن بالا بیاورید.