看了很多使用 acme.sh 签发 通配符 SSL 的教程,但讲的比较笼统,所以打算写个详细教程记录一下,顺便补一下上一期搭建Flarum论坛
此处以 ZeroSSL 为例,acme.sh也可签发其他证书,可自行研究。
不同品牌证书之间优劣不在此赘述。
正文
下载 acme.sh:
curl https://get.acme.sh | sh

创建文件链接:

切换证书为 ZeroSSL:

获取zeroSSL eab
打开 https://app.zerossl.com/developer
注册账号并登录,打开页面后点击Developer,点击Generate

绑定邮箱,输入你注册使用的邮箱:
acme.sh --register-account -m YourEmail

获取 EAB KID 和 EAB HMAC Key 并且按格式填写:
acme.sh --register-account --server zerossl \
--eab-kid EAB KID \
--eab-hmac-key EAB HMAC Key

获取DNSPOD API
这里是通过自动 DNS 解析来进行 DNS 验证,也可选择文件验证,但推荐自动验证。
此处以 DNSPOD为例,其他运营商操作类似。
打开 https://console.dnspod.cn/account/token/token 获取 ID/KEY

配置DNSPOD API
export DP_Id="YourID"
export DP_Key="YourKey"
自动签发通配符:
acme.sh --issue --dns dns_dp -d *.domain.com -d domain.com --keylength ec-256


此时证书签发成功,绿色的部分为证书的存储路径,部署在服务器即可。
fullchain.cer 是证书内容,xxx.key 是证书的私钥。
以上就是使用 acme.sh 签发通配符 SSL 证书的所有步骤了,完结,享受。