1. Cài đặt
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
./certbot-auto --nginx
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
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ỉ
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
/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
sudo certbot --nginx -d lienvu.com -d www.lienvu.com
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
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
Đôi khi chạy cerbot nhưng tạo chứng chỉ không thành công thì có thể xử lý theo cách này
Nếu nginx auth bị lỗi liên tục thì có vài cách xử lý khác ổn định hơn với Certbot:
Cách 1: dùng webroot thay nginx plugin thường ổn hơn nhiều.
mkdir -p /var/www/certbot
Nginx thêm:
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
Reload nginx:
nginx -t && systemctl reload nginx
Test:
echo test > /var/www/certbot/.well-known/acme-challenge/test.txt
Mở: http://lienvu.com/.well-known/acme-challenge/test.txt
Nếu thấy chữ test thì chạy:
certbot certonly --webroot \
-w /var/www/certbot \
-d lienvu.com
Cách này bypass phần nginx automation của certbot nên ít lỗi hơn.
Cách 2: standalone mode
Dùng khi nginx config quá phức tạp.
Stop nginx:
systemctl stop nginx
Chạy:
certbot certonly --standalone -d lienvu.com
Xong bật lại:
systemctl start nginx
7. Check log
/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