Module tự động cài đặt và gia hạn chứng chỉ tên miền trên Server
1. Cài đặt
Sử dụng lệnh bên dưới để cài đặt thư viện:
Centos
wget https://dl.eff.org/certbot-auto && chmod a+x certbot-auto
Ubuntu
apt-get install python3-certbot-nginx
2. Tạo chứng chỉ cho website
Yêu cầu domain đang Listen ở Port 80
Tạo chứng chỉ theo những domain đã khai báo trong Nginx
./certbot-auto --nginx
Tạo cấu hình cho tên miền mới nếu chưa có (bằng Shell)
sudo /bin/sh /usr/src/ssl-auto/auto-ssl.sh lienvu.com
./certbot-auto certonly --webroot -w /path_to_code/ -d lienvu.com -d www.lienvu.com
Hoặc qua Plugin
./certbot-auto --nginx -d checkout.vn
path_to_code: là đường dẫn đến Folder code
Sau đó reload lại Nginx hoặc Apache
3. Gia hạn
Di chuyển file certbot-auto vào thư mục letsencrypt
sudo mv certbot-auto /etc/letsencrypt/
Mở crontab và thêm lệnh bên dưới:
30 2 * * * cd /etc/letsencrypt/ && ./certbot-auto renew && sudo service nginx reload
Hoặc trên Ubuntu
30 2 * * * certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"
Kiểm tra module gia hạn có chạy đúng hay không
sudo -i cd /etc/letsencrypt/ && ./certbot-auto renew --dry-run
Gia hạn chỉ 1 domain
sudo certbot -d lienvu.com --force-renewal
4. Kiểm tra thông tin chứng chỉ
Kiểm tra chứng chỉ còn hạn hay đã hết
sudo openssl x509 -noout -dates -in /etc/letsencrypt/live/lienvu.com/cert.pem
Hoặc list các danh sách chứng chỉ
sudo certbot certificates | more
Sử dụng lệnh bên dưới để xóa chứng chỉ
/etc/letsencrypt/certbot-auto delete
Hoặc xóa 1 chứng chỉ cố định
sudo certbot delete --cert-name lienvu.com
5. Tương thích với Nginx và Apache
Certbot cung cấp nhiều cách để có được chứng chỉ SSL thông qua các plugin. Plugin Nginx sẽ xử lý cấu hình lại Nginx và tải lại cấu hình khi cần thiết. Để sử dụng plugin này, hãy nhập như sau:
sudo certbot --nginx -d lienvu.com -d www.lienvu.com
Thao tác này chạy certbot với plugin --nginx sử dụng -d để chỉ định tên muốn chứng chỉ hợp lệ.
Nếu đây là lần đầu chạy certbot, bạn sẽ được nhắc nhập địa chỉ email và đồng ý với các điều khoản dịch vụ.
Nếu sử dụng plugin thì chứng chỉ sẽ tự động được ra hạn không cần set trong crontab
6. Xử lý lỗi
Lỗi khi chạy Certbot bị treo
Another instance of Certbot is already running
Cách xử lý là kill ứng dụng treo để chạy lại bằng lệnh
ps -ef | grep certb
kill -9 PID
7. Check log
Check log tại thư mục
/var/log/letsencrypt/
Sử dụng lệnh sau để tìm khoảng thời gian lỗi không tạo được chứng chỉ, sắp xếp theo thời gian giảm dần
ls -lrt
Nhận xét
Đăng nhận xét