使用 acme.sh 免费申请 Let’s Encrypt 泛域名 SSL 证书

现在绝大多数网站都部署了全站 https 加密访问,而 Let’s Encrypt 这个项目通过自动化申请 SSL 证书,使配置和维护  https 变得更加简单,我的腾讯云服务器就使用 acme.sh 基于 dns-api 协议生成证书,便捷实现 Let’s Encrypt 泛域名 SSL 证书的申请,安装及自动续期。

安装 acme.sh

curl https://get.acme.sh | sh

acme.sh 实现了 acme 协议,可以帮助你快速申请SSL证书,自动更新证书等操作,极大简化操作步骤。

设置默认证书

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

现在 acme.sh 已经支持 ZeroSSL、BuyPass、Let’s Encrypt 等多种不同证书。若要更换为ZeroSSL,则改为 --server zerossl

配置DNS API

export Ali_Key="<key>"
export Ali_Secret="<secret>"

export DP_Id="<id>"
export DP_Key="<key>"

acme.sh 目前支持 cloudflare,aliyun,dnspod, cloudxns,godaddy 等数十种解析商的自动集成。

以 DNSPod 为例,你需要先登录到 dnspod 账号(https://console.dnspod.cn/account/token/apikey),生成你的 api id 和 api key,都是免费的。

acme.sh 支持多个DNS服务商,这里给出的 api id 和 api key 会被自动记录下来,将来你在使用 dnspod api 的时候,就不需要再次指定了。

申请证书

acme.sh --issue --dns dns_dp -d domain.com -d *.domain.com --server letsencrypt

这里要注意的两点,你用的是 dnspod 的,则红色字符为 dns_dp,用的是 aliyun ,则为 dns_ali ,请注意修改服务商名。domain.com 则修改为你自己的域名,*.domain.com 则是支持泛域名。

等待程序自动申请完毕,看到如上图所示,就说明申请成功了。证书文件自动存放在 /root/.acme.sh/域名文件夹中。请不要直接使用此目录下的文件, 这里面的文件都是内部使用,而且目录结构可能会变化。

正确的使用方法是使用 --installcert 命令,将证书文件 Copy 到相应的位置,再按需下载到本地保存。

安装证书

acme.sh --installcert -d domain.com -d *.domain.com \
--key-file /home/wwwroot/ladingwu.xin/ssl/domain.com.key \
--fullchain-file /home/wwwroot/ladingwu.xin/ssl/domain.com.cer \
--reloadcmd "service nginx reload" \
--reloadcmd "chown -R www:www /home/wwwroot/ladingwu.xin/ssl/"

上述命令将 domain.com  SSL证书,导出到了域名文件夹/ssl 目录下,方便使用 FTP 软件将 .key 和 .cer 文件下载到本地。

自动续期

acme.sh --install-cronjob

Let’s Encrypt 免费版 SSL 证书有效期只有90天,到期后会自动更新,你无需任何操作。但如果你是用于像上海云盾一样的CDN应用商,则每过三个月就要手动重新下载一次,进行证书文件更换。

更新 acme.sh

目前由于 acme 协议和 Let’s Encrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.

升级 acme.sh 到最新版 :

acme.sh --upgrade

如果你不想手动升级, 可以开启自动升级,之后 acme.sh 就会自动保持更新了:

acme.sh --upgrade --auto-upgrade

查看 acme.sh 当前版本:

acme.sh -v

申请 ZeroSSL 泛域名证书

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

申请证书之前,需要先注册ZeroSSL账户,并用下面的命令绑定关联账户(myemail@example.com 改成你自己的ZeroSSL 邮箱,不要乱填):

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

此步骤在配置DNS API之后, 然后按上面的申请证书流程进行操作。

acme.sh 默认 server 使用 Let’s Encrypt,将在2021/08/01发布v3版本,默认 server 将更改为 ZeroSSL 。


历史上的今天:

相关推荐

宝塔面板 Let’s Encrypt 证书到期如何续签?

3月份,在阿里云推出“99计划”助力无忧上云时,我入手了这款云服务器,安装的是宝塔面板,部署 SSL 时,也是直接申请的 Let's Encrypt 免费证书。 当时选择 DNS 接口时,因为阿里云DNS 方式需要设置对应接口的API,所以采用了手动解析。到6月14日,网站打不开了,提示证书到期,我登录宝塔面板,点击“续签证书”,但失败了 ...

WPS 每天打卡免费领会员活动被取消,超级会员还能白嫖吗?

随着4月17日 WPS  会员体系全新升级,WPS 会员小程序的“免费领会员”活动也被升级为“免费领会员权益”活动了,原来每天打卡,随机瓜分1-99天会员的福利没有了。 版本更新通知 致WPS用户朋友: 由于WPS会员体系升级,自2023年4月15日22时起,登录WPS微信小程序打卡领会员活动暂时下线,进行版本更新,上线时间将另行通知。您 ...

腾讯云服务器如何免费升级配置?只怪自己知道的太迟

网站空间选用的是腾讯云服务器,配置不高,是标准型 SA2 - 1核 2G 。早就听说腾讯云经常会有免费升级云服务器配置的活动,但一直没找到相应的操作选项,所以就把这个福利搁置下来了。 昨天又听群友提起:腾讯云服务器1核2G的配置,可以免费升级到2核2G,加量不加价。于是经过一番摸索,终于成功免费升级,特把相关操作过 ...

磁力下载推荐 Motrix ,免费开源速度快

最近在电报群组上看到几个电影资源,是磁力链接的,我用万能下载工具 Free Download Manager 下载时,卡在“获取信息,请稍等”,总是嗅探不出下载资源。 请教大侠,建议使用官方客户端,我在网上转了一圈,也没看到磁力链接下载的官方网站。不过,有网友推荐了 Motrix,一款高颜值的下载工具。 官方网站:https://motrix. ...

2 条评论

  1. 我的ssl也是这样申请的。

    • @林林 对服务器的操作我不太懂,很多只能依样画葫芦,没样就没辙了。

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。