برای اطمینان از امنیت وبسایت خود و فعالسازی 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 برای سایت خود لذت ببرید.