Công cuộc cài SSL trên server chia làm 3 giai đoạn
- Lấy chứng chỉ (Certificate)
- Khai báo chứng chỉ với web server
- Gia hạn chứng chỉ khi hết hạn (optional)
Có 1 vài công cụ cho phép thực hiện 2 việc trên 1 cách tự động, nổi tiếng nhất là Certbot
- Cài cerbot
# UPDATE UBUNTU
sudo apt-get update && sudo apt-get -y upgrade
# Thêm repository
sudo add-apt-repository ppa:certbot/certbot
# Nếu web server là apache
sudo apt install python-certbot-apache
# Nếu web server là nginx
sudo apt install python-certbot-nginx
- Lấy chứng chỉ và khai báo chứng chỉ với web server
2.1 Nếu web server là apache
Lưu ý với apache, cần enable mod_ssl thì mới có thể cài được.
sudo certbot --apache -d example.com -d www.example.com
# và sau đó làm theo hướng dẫn
2.2 Nếu web server là nginx
sudo certbot --nginx -d example.com -d www.example.com
# và sau đó làm theo hướng dẫn
- Gia hạn chứng chỉ SSL
Chứng chỉ SSL của Let’s Encrypt là miễn phí, nhưng không phải vĩnh viễn. Thời hạn của 1 chứng chỉ SSL do LE cung cấp là 90 ngày, 90 ngày sau chứng chỉ sẽ hết hạn, do vậy cần gia hạn chứng chỉ.
Certbot đã cung cấp sẵn cronjob, chúng ta không cần làm gì thêm. Cronjob sẽ chạy mỗi ngày 1 lần, để xem chi tiết cronjob có thể kiểm tra trong /etc/cron.d.
hoặc dùng câu lệnh để kiểm tra.
sudo certbot renew --dry-run
nếu không có trả về có nghĩa là việc gia hạn chứng chỉ đã được cài đặt.
Quá trình cài đặt SSL trên CentOS không khác so với trên Ubuntu, chỉ cần thay apt bằng yum