80端口空闲

lsof -i:端口
systemctl stop nginx
systemctl reload nginx
systemctl restart nginx

安装acme软件

mkdir -p /ssl/acme-challenge
curl https://get.acme.sh | sh
.acme.sh/acme.sh --register-account -m 3040528579lhh@gmail.com
.acme.sh/acme.sh --register-account -m 3040528579lhh@gmail.com --server xxxx
.acme.sh/acme.sh --register-account -m 3040528579lhh@gmail.com --server ssl.com --eab-kid 0af5f2437f56 --eab-hmac-key BRgRCPjMVhJ_DlgyIAqjP6VU-jqDhOSfLwrjRqhqyMc
.acme.sh/acme.sh --register-account -m 3040528579lhh@gmail.com --server zerossl --eab-kid IFzJDaLt3BmLPt7YJ8ObbA  --eab-hmac-key  7_l1fhuXfYm_odCiiey4Kt_jbtv-eWB1hPK3kVmZuN0dLFk_2A6GonQbZf8HcTs4Vlj_azNMYk0pEAR55iSdhQ
.acme.sh/acme.sh --register-account -m 3040528579lhh@gmail.com --server buypass
  • 说明:Let's Encrypt无需注册

切换CA机构

目前 acme.sh 支持 5 个正式环境 CA,分别是 Let's Encrypt、Buypass、ZeroSSL、SSL.com 和 Google Public CA

.acme.sh/acme.sh --set-default-ca --server xxxx
.acme.sh/acme.sh --set-default-ca --server google
.acme.sh/acme.sh --set-default-ca --server ssl.com
.acme.sh/acme.sh --set-default-ca --server zerossl
.acme.sh/acme.sh --set-default-ca --server buypass
.acme.sh/acme.sh --set-default-ca --server letsencrypt

80 端口空闲的验证申请

.acme.sh/acme.sh --standalone --issue -d demo.com
.acme.sh/acme.sh --standalone --issue -d demo.com --server xxxx

80 端口非空闲的验证申请(借助nginx)

location /.well-known/acme-challenge {
    root /ssl/acme-challenge;
    }
.acme.sh/acme.sh --force --issue -d demo.com -w /ssl/acme-challenge
.acme.sh/acme.sh --force --issue -d demo.com -w /ssl/acme-challenge --server xxxx
  • 说明:初次申请证书,没有过期证书时。暂时注释掉nginx配置文件中证书地址或者指向一个其他域名的证书也可。

nginx验证申请

.acme.sh/acme.sh --force --issue --nginx -d demo.com
.acme.sh/acme.sh --force --issue --nginx -d demo.com --server xxxx
  • 说明:证书过期后不可用与申请证书

安装证书到指定文件夹

.acme.sh/acme.sh --installcert -d demo.com --key-file /ssl/demo.com/private.key --fullchain-file /ssl/demo.com/cert.crt
.acme.sh/acme.sh --reloadcmd "service nginx reload" --installcert -d demo.com --key-file /ssl/demo.com/private.key --fullchain-file /ssl/demo.com/cert.crt

查看签发的证书

.acme.sh/acme.sh --list

删除签发的证书

.acme.sh/acme.sh --remove -d demo.com

在.acme.sh/acme.sh删除对应文件

证书续签

.acme.sh/acme.sh --force --renew -d demo.com
  • 说明:默认安装在/目录下,否则删除命令前的/执行
  • 说明:证书更新无效,请关闭cloudflare的cdn小黄云