阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用acme.sh申请ZeroSSL泛域名证书,Let’s Encrypt替代品

237次阅读
没有评论

共计 2565 个字符,预计需要花费 7 分钟才能阅读完成。




在很早的一篇文章中《使用 acme.sh 脚本申请 Let’s Encrypt 泛域名 SSL 证书 》分享过使用acme.sh 申请 Let’s Encrypt 泛域名 SSL 证书,随着 acme.sh 作者的不断更新,功能越来越强大,现在 acme.sh 已经支持 ZeroSSL、BuyPass、Let’s Encrypt 等多种不同证书。

据传 Let’s Encrypt OSCP 服务器被墙,导致国内首次访问使用 Let’s Encrypt SSL 的站点加载速度过慢,目前尚不清楚解决没有(有人说 Let’s Encrypt 已经更换 OSCP 服务器解决了该问题,xiaoz 尚未验证)。总之多一个选择多一条路,这篇文章分享下另一个 SSL 服务提供商 ZeroSSL

关于 ZeroSSL

ZeroSSL 在 2016 年就已经推出,和 Let’s Encrypt 一样,证书有效期只有 90 天,支持泛域名 SSL 证书。和 Let’s Encrypt 不同的是,ZeroSSL API 没有速率限制,不存在同一 IP 多次申请 SSL 证书被限制的问题,ZeroSSL 还提供了 WEB 界面可在后台管理 SSL 证书, 相比 Let’s Encrypt 功能更加丰富。

acme.sh 的文档中提到,acme.sh 默认 server 使用 Let’s Encrypt,将在 2021/08/01 发布 v3 版本,默认 server 将更改为 ZeroSSL(参考:https://github.com/acmesh-official/acme.sh/wiki/Change-default-CA-to-ZeroSSL),可以看出 ZeroSSL 越来越流行,acme.sh也在向 ZeroSSL 靠拢。

安装 acme.sh

acme.sh 实现了 acme 协议, 可以帮助你快速申请 SSL 证书,自动更新证书等操作,极大简化操作步骤。在使用之前,我们需要先安装,以下命令均在 Linux 系统完成。

# 安装 acme.sh
curl  https://get.acme.sh | sh

是的,只需要简单一行命令即可安装,安装完成后,可输入 acme.sh -v 查看当前版本。

[root@qcloud-cd ~]# acme.sh -v
https://github.com/acmesh-official/acme.sh
v2.9.0

将 acme.sh server 更改为 ZeroSSL

acme.sh 2.x 版本默认使用 Let’s Encrypt 作为服务提供商,我们可以通过以下命令,将其更换为 ZeroSSL:

# 更换默认服务商为 ZeroSSL
acme.sh --set-default-ca  --server zerossl

配置 DNS API

SSL 证书验证可通过 DNS 验证、文件验证等多种方式,为了方便多个域名申请以及后续证书更新,推荐使用 DNS API 方式,不过在使用前需要先进行设置。

如果使用的 DNSPOD(国内版),命令为:

export DP_Id="1234"
export DP_Key="sADDsdasdgdsf"

密钥可通过:https://console.dnspod.cn/account/token/apikey 获取。


如果使用的华为云解析(国内版),命令为:

export HUAWEICLOUD_Username=<Your Username> # Usually hwxxxxxx
export HUAWEICLOUD_Password=<Your Password>
export HUAWEICLOUD_ProjectID=<A Project ID> 
  • HUAWEICLOUD_Username: 华为云用户名
  • HUAWEICLOUD_Password:华为云密码
  • HUAWEICLOUD_ProjectID:可通过 我的凭据 获取

acme.sh支持多个 DNS 服务商,这里不在一一列举,可通过官方文档:https://github.com/acmesh-official/acme.sh/wiki/dnsapi进行查看设置。

ZeroSSL 使用说明

申请证书之前,建议先在 ZeroSSL 官方网站:https://zerossl.com/注册账号,方便与 acme.sh 申请的证书进行绑定于关联。

另外注意,如果您通过 ZeroSSL 官网在线申请 SSL 证书, 免费账户是有 3 个域的额度限制的,但通过 acme.sh 申请则没有这个限制,所以建议使用 acme.sh 进行申请,简单方便。

acme.sh 申请 ZeroSSL 泛域名 SSL 证书

首次使用需要先注册 ZeroSSL 账户(参考上一步),如果已经注册,下面的命令会自动关联账户,命令如下(myemail@example.com改成你自己的 ZeroSSL 邮箱,不要乱填):

acme.sh  --register-account  -m myemail@example.com --server zerossl

xiaoz.me 域名为例,该域名使用华为云解析,我已经在上一个步骤中设置好华为云解析 DNS API,现在可以输入命令直接申请:

# 申请 ZeroSSL 泛域名 SSL 证书
acme.sh --dns dns_huaweicloud --issue -d xiaoz.me -d *.xiaoz.me

如果申请过程中没有报错,就可以将 SSL 证书拷贝到任何想要的位置进行使用,命令如下:

acme.sh  --installcert  -d  xiaoz.me   \
        --key-file   /data/ssl/xiaoz.me.key \
        --fullchain-file /data/ssl/xiaoz.me.crt

上述命令将 xiaoz.me SSL 证书导出到了/data/ssl 目录。

部署于查看

关于如何部署 SSL 证书这篇文章不做介绍,建议网上搜索。部署完毕后我们可通过浏览器查看到证书信息,如下图。

最后

ZeroSSL 几乎继承了 Let’s Encrypt 所有特性,而且还支持 WEB 管理证书,使用 acme.sh 申请 ZeroSSL 也非常简单,用来替代 Let’s Encrypt 完全没有问题。不过遗憾的是和 Let’s Encrypt 一样,免费版 SSL 证书有效期只有 90 天,但我们多了一个 SSL 服务商选择,也是极好的,小伙伴们还不赶紧试试?

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2565字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中