欢迎光临!
若无相欠,怎会相见

使用 acme.sh 申请泛域名证书

序言

前段时间突然想起早就没有使用七牛云的免费 10 GB 空间了, 也就是说我的这个 Blog 已经和国内没有牵扯了。 前因还是之前 org 域名在阿里云没法续费, 因此我当时直接注销备案, 把域名转到国外了, 谁让阿里云太坑了。

那现在就可以无所顾忌的上 https 了, 因为之前使用的七牛云是免费 http 流量, https 流量是收费的, 当时有顾忌,就没上 SSL, 现在用 cloudflare, 免费用户也可以使用 https

事先声明一下, 泛域名证书貌似只能使用 dns 验证, 因此本文使用 cloudflare 的 API 进行 dns 验证, 因为我的域名解析是放在 cloudflare 上的。

另本文默认已经安装完毕 acme.sh, 实在没安装, 请查看官方的中文说明 https://github.com/acmesh-official/acme.sh/wiki/说明 。

申请 Token

首先登陆 cloudflare, 然后到 profile 页面(https://dash.cloudflare.com/profile), 点击 API 

然后创建令牌, 选择第一个 “编辑区域 DNS” 即可

然后选择自己的域名,为了安全, 还可以设置客户端 IP 地址为网站服务器 IP同时, 点击继续之后, 别忘了把 token 复制下来, 否则后面就只能重新申请

然后获取 cloudflare zone id 和 account id, 这两点需要到 cloudflare 中自己创建的网站上查看

OK, 这三个值获取到后, 就可以进行申请泛域名操作了

申请证书

执行如下命令, 上文中获取的 3 个值写入

export CF_Token="xxxxxxxxxxxxxxxxxxxxxxxxxx"
export CF_Account_ID="xxxxxxxxxxxxx"
export CF_Zone_ID="xxxxxxxxxxxxx"

然后执行 acme.sh 命令进行证书的签发

acme.sh --issue --dns dns_cf -d liangz.org -d *.liangz.org

签发完毕之后, cloudflare 的三个值会被保存到 ~/.acme.sh/account.conf 里面, 续期的时候还可以继续使用。

签发有点儿慢, 耐心等着就好了。

签发完毕, 会告诉你证书文件在哪

[Sun Nov 27 11:08:55 CST 2022] Your cert is in: /root/.acme.sh/liangz.org/liangz.org.cer
[Sun Nov 27 11:08:55 CST 2022] Your cert key is in: /root/.acme.sh/liangz.org/liangz.org.key
[Sun Nov 27 11:08:55 CST 2022] The intermediate CA cert is in: /root/.acme.sh/liangz.org/ca.cer
[Sun Nov 27 11:08:55 CST 2022] And the full chain certs is there: /root/.acme.sh/liangz.org/fullchain.cer

可以使用 acme.sh --list 查看证书

有创建日期和续期, 续期就不用自己手动操作了, 可以自动运行, 因为按照 acme.sh 的时候已经创建了定时任务。

参考: https://frankindev.com/2021/10/14/free-wildcard-ssl-by-zerossl-with-acme.sh/

结语

申请泛域名证书就先到此结束, 后面再写一篇文章把网址加上 SSL

如有错误, 敬请指出, 感谢指正!   — 2022-11-27 11:19:00

赞(0) 打赏
转载请注明:飘零博客 » 使用 acme.sh 申请泛域名证书
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

欢迎光临