Hôm nay, topweb.store hướng dẫn các bạn cài đặt và gia hạn chứng chỉ SSL lên EC2 Nginx trên AWS như sau:
Bước 1: Cài đặt Lego Client
cd /tmp curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i - tar xf lego_vX.Y.Z_linux_amd64.tar.gz sudo mkdir -p /opt/bitnami/letsencrypt sudo mv lego /opt/bitnami/letsencrypt/lego
Bước 2: Khởi tạo một chứng chỉ Let’s Encrypt
sudo /opt/bitnami/ctlscript.sh stop sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="www.DOMAIN" --path="/opt/bitnami/letsencrypt" run
Bước 3: Cấu hình Nginx dùng chứng chỉ Let’s Encrypt
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.csr /opt/bitnami/nginx/conf/bitnami/certs/server.csr.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/bitnami/certs/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt sudo chown root:root /opt/bitnami/nginx/conf/bitnami/certs/server* sudo chmod 600 /opt/bitnami/nginx/conf/bitnami/certs/server* sudo /opt/bitnami/ctlscript.sh start
Bước 4: Gia hạn chứng chỉ Let’s Encrypt
sudo /opt/bitnami/ctlscript.sh stop sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90 sudo /opt/bitnami/ctlscript.sh start
Bước 5: Cài đặt tự động gia hạn chứng chỉ Let’s Encrypt
Tạo file script renew-certificate.sh tại /opt/bitnami/letsencrypt/scripts/renew-certificate.sh bằng lệnh sau:
sudo mkdir -p /opt/bitnami/letsencrypt/scripts sudo nano /opt/bitnami/letsencrypt/scripts/renew-certificate.sh
Nội dung file script renew-certificate.sh như sau:
sudo /opt/bitnami/ctlscript.sh stop nginx sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90 sudo /opt/bitnami/ctlscript.sh start nginx
Tiếp theo chạy lệnh sau:
sudo chmod +x /opt/bitnami/letsencrypt/scripts/renew-certificate.sh
Tạo một crontab bằng lệnh sau:
sudo crontab -e
0 0 1 * * /opt/bitnami/letsencrypt/scripts/renew-certificate.sh 2> /dev/nullChúc các bạn thành công!