1.安装
curl https://get.acme.sh | sh -s email=my@example.com
wget -O - https://get.acme.sh | sh -s email=my@example.com
2.切换CA
默认使用 ZeroSSL环境,切换为 Let's Encrypt
#./acme.sh --set-default-ca --server letsencrypt
[Sat Mar 16 18:18:38 CST 2024] Changed default CA to: https://acme-v02.api.letsencrypt.org/directory
3.注册账号
# ./acme.sh --register-account -m my@example.com
[Sat Mar 16 18:18:50 CST 2024] Create account key ok.
[Sat Mar 16 18:18:50 CST 2024] Registering account: https://acme-v02.api.letsencrypt.org/directory
[Sat Mar 16 18:18:53 CST 2024] Registered
[Sat Mar 16 18:18:53 CST 2024] ACCOUNT_THUMBPRINT='W6bnhp6UFPHuOC4C60_wcAVaf4DW2CFmEcX0PEVNyD4'
4.生成证书
使用nginx服务器模式, acme.sh 可以从nginx的配置中自动完成验证, 不需要指定网站根目录
# ./acme.sh --issue -d www.mydomain.com --nginx
acme.sh生成cert、cert key、CA cert、 full chain certs证书
5.生成derper需求证书
# .acme.sh/acme.sh --install-cert -d www.mydomain.com --key-file /root/ssl/www.mydomain.com.key.pem --fullchain-file /root/ssl/www.mydomain.com.cert.pem
[Sat Mar 16 22:53:38 CST 2024] The domain 'www.mydomain.com' seems to have a ECC cert already, lets use ecc cert.
[Sat Mar 16 22:53:38 CST 2024] Installing key to: /root/ssl/www.mydomain.com.key.pem
[Sat Mar 16 22:53:38 CST 2024] Installing full chain to: /root/ssl/www.mydomain.com.cert.pem
# mv www.mydomain.com.cert.pem www.mydomain.com.crt
derper包含证书名称必须同hostname名称
# derper -c=/root/derper.conf -hostname=www.mydomain.com -a :8443 -stun -http-port=8445 -certmode=manual -certdir=/root/ssl/
其中/root/ssl/目录下必须有www.mydomain.com.crt、www.mydomain.com.key文件