本文发表于 220 天前,其中的信息可能已经事过境迁
文章摘要
加载中...|
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结

话不多说,直接开始🚀

安装

  • 在线安装
bash
curl https://get.acme.sh | sh -s email=my@example.com

或者:

bash
wget -O -  https://get.acme.sh | sh -s email=my@example.com

这是安装成功后的目录结构

安装好后打开一个新的终端检查

bash
acme.sh -v

问题

写在前面,原因是在我申请证书时一直失败,寻找后得知是服务器问题,所以还是写在这里提前修改较好

Timeout: The CA is processing your order, please just wait

CAUTION

出现提示:Pending, The CA is processing your order, please just wait

原因是 acme.sh 默认的 CA 服务器是 zerossl,这个经常抽风

CA 服务器改成 letsencrypt 即可

bash
acme.sh --set-default-ca --server letsencrypt

DNS 验证

因为我的域名是在腾讯云购买的,所以可以使用账户 apiToken 的方式进行验证,

1. 使用账户的 API 密钥

推荐使用子账户的API,没有子账户的可以先去创建:子账户创建

CAUTION

创建后一定要把 SecretIdSecretKey 给记下来存放好,因为只会显示一次,如果忘记了就只能重新创建密钥!

  1. 在终端输入以下命令,将密钥导入环境变量
bash
export Tencent_SecretId="SecretId"
export Tencent_SecretKey="SecretKey"
  1. 申请证书
bash
acme.sh --issue --dns dns_tencent -d example.com -d *.example.com
  • example.com :表示主域名
  • *.example.com : 表示泛域名

想申请哪个就写哪个,但至少要写有一个域名

2. 使用 DNSPod Token

创建 Token :DNSPod Token

CAUTION

Token 创建好后一定要复制下来存放好,因为只会显示一次,如果忘记了就只能重新创建!

  • 配置环境变量
bash
export DP_Id="id"
export DP_Key="Token"
  • 申请证书
bash
acme.sh --issue --dns dns_dp -d example.com -d *.example.com

安装证书

证书申请成功后,会存放在 acme.sh 的安装目录下

接下来开始安装证书,不推荐直接使用安装目录下的证书,可以将证书拷贝到专门用于存放证书的目录

bash
acme.sh --installcert -d domain.com --key-file /path/ssl/domain.com.key --fullchain-file /path/ssl/domain.com.cer
  • installcert :安装证书命令
  • -d domain.com :会读取对应域名配置
  • –key-file :将证书私钥拷贝到该参数指定的路径
  • –fullchain-file :将证书链拷贝到该参数指定的路径

TIP

这里我使用的是 domain.com.cer,如果 nginx 验证失败也可以修改为使用 fullchain.cer

安装成功后配置好 nginx 的 ssl_certificatessl_certificate_key 参数,然后重启 nginx 服务

nginx
ssl_certificate             /path/ssl/domain.com.cer;
ssl_certificate_key         /path/ssl/domain.com.key;

自动续期

在使用 acme.sh --issueacme.sh --install-cert 命令成功部署后,acme.sh已经自动创建了 crontab 定时任务

查看定时任务

bash
crontab -l

可以修改执行时间

bash
crontab -e

手动续期

--force 表示进行强制续期

bash
acme.sh --renew -d domain.com --force

自动续期和手动续期我都没试过,毕竟我的证书时间还没到👻

赞赏博主
评论 隐私政策