:NGINX نرم افزاری متن باز است. این نرم افزار برای سرویس دهی وب، پروکسی معکوس، ذخیره سازی، ثبات بارگیری، پخش رسانه و موارد دیگر استفاده می شود. Let’s Encrypt یک مرجع مجوز رایگان و خودکار (CA) است که در راستای منافع عمومی اجرا می شود. همچنین این سرویس ارائه شده توسط گروه تحقیقاتی امنیت اینترنت (ISRG) است که به کاربران مجوزهای دیجیتالی می دهند. ما در این مقاله می خواهیم نحوه ایمن سازی Nginx با Let’s Encrypt در AlmaLinux را به شما آموزش دهیم.
فهرست مطالب
پیش نیازهای ایمن سازی Nginx با Let’s Encrypt
قبل از آغاز پروسه ایمن سازی از داشتن این پیش نیازها مطمئن شوید:
- با امتیازات sudo به عنوان کاربری غیر روت وارد شوید و یک فایروال راه اندازی کنید.
- حال که شما می خواهید Nginx را روی AlmaLinux نصب کنید، باید بلوک های سرور Nginx را راه اندازی کنید.
- باید یک نام دامنه ثبت شده داشته باشید.
مراحل ایمن سازی Nginx با Let’s Encrypt در AlmaLinux
در این بخش مراحل ایمن سازی را به صورت دقیق به شما آموزش خواهیم داد. سعی کنید تا تمام مراحل را با دقت دنبال کنید. عدم انجام یکی از مراحل باعث می شود مراحل بعدی به طور صحیح اجرا نشوند.
مرحله 1: نصب Certbot Let’s Encrypt Client
بسته certbot در مدیریت بسته DNF به طور پیش فرض در دسترس نیست. برای این کار شما باید مخزن EPEL را فعال کنید.
دستور زیر را برای اضافه کردن مخزن EPEL در AlmaLinux اجرا کنید:
sudo dnf install epel-release
اکنون می توانید تمام بسته های certbot را با دستور زیر نصب کنید:
sudo dnf install certbot python3-certbot-nginx
در این مرحله، کلاینت Let’s Encrypt نصب شده است. برای دریافت مجوز ها باید ابتدا تنظیمات فایروال خود را به روزرسانی کنید.
مرحله 2: بروزرسانی تنظیمات فایروال
برای بررسی اینکه در حال حاضر کدام سرویس ها فعال هستند، دستور زیر را اجرا کنید:
sudo firewall-cmd --permanent --list-all
نکته: اگر HTTP و HTTPS در لیست خروجی شما وجود نداشت، دستورات زیر را اجرا کنید تا آنها را فعال کنید:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
برای اعمال این تغییرات فایروال را با دستور زیر مجددا بارگذاری کنید:
sudo firewall-cmd --reload
اکنون شما آماده دریافت مجوز SSL خود هستید.
مرحله 3: دریافت مجوز SSL با Let’s Encrypt
در این بخش می توانید یک مجوز SSL برای دامنه خود درخواست کنید. اگر می خواهید مجوزی معتبر برای چندین دامنه یا زیرمجموعه دامنه نصب کنید ، می توانید آنها را به عنوان پارامترهای اضافی به دستور منتقل کنید. در اینجا نام دامنه ما nginx.your_domain_name است، یعنی شما باید آن را با نام دامنه خود در دستورات جایگزین کنید:
sudo certbot --nginx -d nginx.your_domain_name -d www.nginx.your_domain_name
برای یک دامنه می توانید از این دستور استفاده کنید:
sudo certbot --nginx -d nginx.your_domain_name
در این قسمت از شما خواسته می شود آدرس ایمیل خود را وارد کنید و سپس با شرایط خدمات موافقت کنید. حال در طول فرآیند درخواست مجوز برای اطلاعات دامنه، دستور certbot را بدون هیچ دامنه ای فراخوانی کنید:
sudo certbot --nginx
اکنون نام دامنه خود را انتخاب کنید، می توانید آن را خالی بگذارید تا بتوانید هر دو را انتخاب کنید یا اگر از یک دامنه استفاده می کنید یکی از آنها را انتخاب کنید. سپس Renew را انتخاب کنید و مجوز را جایگزین کنید. وقتی استفاده از certbot به پایان رسید، می توانید وضعیت مجوز SSL خود را بررسی کنید. فراموش نکنید که نام دامنه را جایگزین کنید. لینک زیر را در مرورگر وب خود تایپ کنید:
https://www.ssllabs.com/ssltest/analyze.html?d=nginx.your_domain_name
در اینجا شما یک امتیاز A از مجوز SSL خود دریافت خواهید کرد. همچنین، می توانید با استفاده از پیشوند HTTP به وب سایت خود دسترسی پیدا کنید. اکنون باید مجوزها را به صورت دوره ای تمدید کنید تا این تنظیمات به کار خود ادامه دهند. برای این کار مراحل بعدی را دنبال کنید.
مرحله 4: تنظیم تمدید خودکار مجوزهای SSL
مجوزهای Let’s Encrypt به مدت 90 روز معتبر هستند، اما توصیه می شود هر 60 روز یک بار آنها را تمدید کنید. با دستور زیر می توانید تمدید خودکار certbot Nginx مجوزهای خود را آزمایش کنید:
sudo certbot renew --dry-run
نکته: ایجاد cron job که هر هفته یا حتی هر روز اجرا می شود، بی خطر است.
برای ویرایش crontab برای کاربر روت دستور زیر را اجرا کنید:
sudo crontab -e
سپس خط دستوری زیر را به فایل خالی اضافه کنید:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew --quiet
پس از اتمام کار، فایل را ذخیره کرده و با علامت “:wq” آن را ببندید.
وب سرور Nginx با کارایی فوق العاده خود توجه بسیاری از کاربران را به خود جلب کرده است و شما نیز می توانید با نصب آن در سرور خود از مزایای استفاده این وب سرور بهره مند شوید. در ضمن، بهتر است بدانید که سایت آذرسیس با ارائه هاست لینوکس سرورهای مجازی و سرور اختصاصی نیز در کنار شما کاربران عزیز می باشد و می توانید با ارسال تیکت به بخش پشتیبانی در مراحل خرید و نصب اطلاعات لازم را کسب کنید.
نتیجه گیری
در این آموزش، نصب کلاینت Certbot با Let’s Encrypt را به شما کاربران عزیز طور کامل شرح دادیم، دانلود مجوزهای SSL برای دامنه تان و تنظیم تمدید خودکار مجوز یکی از مهم ترین بخش های این آموزش است. زیرا این مجوز ها فقط تا 90 روز اعتبار دارند. برای اینکه مطمعن شوید Nginx شما همیشه در امنیت کامل است سعی کنید هر 60 روز یک بار نسبت به تمدید مجوز خود اقدام کنید. امیدواریم از مقاله نحوه ایمن کردن Nginx با Let’s Encrypt در AlmaLinux نهایت استفاده را داشته باشید.
سوالات متداول:
آیا Nginx یک موازنه کننده بار است؟
بله، به عنوان یک متعادل کننده بار مبتنی بر نرم افزار، Nginx plus بسیار ارزان تر از راه حل های مبتنی بر سخت افزار با قابلیت مشابه است.
Nginx از TCP استفاده می کند یا UDP؟
UDP. سرور Nginx از نسخه 5 به بعد می تواند ترافیک TCP را پروکسی و بارگذاری کند. TCP پروتکل بسیاری از برنامه ها وسرویس های محبوب است ولی از نسخه 9 به بعد Nginx plus می تواند ترافیک UDP را پروکسی کرده و ترافیک UDP را متعادل سازی بار کند.
آیا Nginx به طور پیش فرض ایمن شده است؟
بله این سرور به گونه ای ساخته شده که پایدار و ایمن می باشد. اما تنها به اندازه ای که کاربر آن را پیکربندی کرده باشد.