حسین سلیمانی
حسین سلیمانی
خواندن ۱ دقیقه·۵ ماه پیش

تنظیم nginx به عنوان reverse proxy و دریافت ssl رایگان

بسم الله ارحمن الرحیم

من یک وب اپلیکیشن روی سرور لینوکس خودم دارم که روی پورت 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 منتقل میشود.

اضافه کردن ssl به سایت با استفاده از nginx

ابتدا باید certbot را نصب کنید

sudo apt install certbot python3-certbot-nginx

دریافت گواهی ssl .بجای example.ir نام دامنه خود را بنویسید

sudo certbot --nginx -d example.ir -d www.example.ir

و تمام.شما به همین راحتی یک گواهی Ssl رایگان دریافت میکنید و میتوانید سایت خود را به صورت امن بالا بیاورید.



nginxreverse proxyگواهی ssl
برنامه نویس hossien014.github.io
شاید از این پست‌ها خوشتان بیاید