Header Ads Widget

Cài đặt chứng chỉ tên miền miễn phí cho Server

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
Ví dụ tạo chứng chỉ to tên miền lienvu.com ta gõ lệnh:
./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