ابرآراز | ArazCloud

دریافت گواهی SSL برای Nginx

برای اطمینان از امنیت وب‌سایت خود و فعال‌سازی HTTPS، می‌توانید از گواهی SSL رایگان از Let’s Encrypt استفاده کنید. این مرجع صدور گواهی (CA) یک راه‌حل ساده برای دریافت و نصب گواهی‌های TLS/SSL ارائه می‌دهد و با استفاده از ابزار Certbot، این فرآیند را به‌طور خودکار انجام می‌دهد.

در این راهنما، نحوه دریافت گواهی SSL برای Nginx در Ubuntu 20.04 و تنظیم آن برای تمدید خودکار را توضیح می‌دهیم.

پیش‌نیازها

  • سرور Ubuntu 20.04 با دسترسی sudo و فایروال فعال.
  • دامنه‌ای که رکوردهای DNS آن به آدرس IP سرور شما اشاره می‌کنند.
  • نصب Nginx و تنظیم بلوک سرور برای دامنه.

گام اول: نصب Certbot

برای شروع، باید Certbot و پلاگین Nginx آن را نصب کنید:

sudo apt install certbot python3-certbot-nginx

گام دوم: بررسی پیکربندی Nginx

Certbot باید بتواند بلوک سرور صحیح را در پیکربندی Nginx پیدا کند. فایل پیکربندی دامنه خود را با ویرایش‌گر متن باز کنید:

sudo nano /etc/nginx/sites-available/example.com

مطمئن شوید که خط server_name شامل نام دامنه شما باشد:

server_name example.com www.example.com;

پیکربندی را ذخیره کرده و از ویرایشگر خارج شوید، سپس Nginx را برای بارگذاری تنظیمات جدید بررسی کنید:

sudo nginx -t
sudo systemctl reload nginx

گام سوم: تنظیمات فایروال

اگر فایروال ufw را فعال کرده‌اید، باید ترافیک HTTPS را مجاز کنید:

sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'

وضعیت فایروال را با دستور زیر بررسی کنید:

sudo ufw status

گام چهارم: دریافت گواهی SSL

برای دریافت گواهی SSL از Certbot و تنظیم خودکار Nginx، دستور زیر را اجرا کنید:

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

به جای example.com، نام دامنه خود را وارد کنید. اگر این اولین بار است که Certbot را اجرا می‌کنید، از شما خواسته می‌شود آدرس ایمیل خود را وارد کنید و با شرایط خدمات موافقت کنید. سپس Certbot با Let’s Encrypt ارتباط برقرار کرده و دامنه شما را تایید می‌کند.

پس از موفقیت‌آمیز بودن فرآیند، پیام زیر را مشاهده خواهید کرد:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on [تاریخ انقضا].

اکنون می‌توانید سایت خود را با استفاده از https://example.com باز کنید تا مرورگر سایت را ایمن نمایش دهد.

برای بررسی اعتبار گواهی خود، می‌توانید از ابزارهای آنلاین مانند SSL Labs استفاده کنید.

گام پنجم: تمدید خودکار گواهی

Let’s Encrypt گواهی‌های خود را به‌صورت خودکار تمدید می‌کند. برای اطمینان از تمدید خودکار، دستور زیر را اجرا کنید:

sudo certbot renew --dry-run

این دستور فرآیند تمدید را شبیه‌سازی کرده و اطمینان می‌دهد که همه چیز به درستی کار می‌کند.

با این مراحل، گواهی SSL خود را برای Nginx دریافت و پیکربندی کرده‌اید و می‌توانید از اتصال امن HTTPS برای سایت خود لذت ببرید.