acme.sh alias模式详解

众所周知,acme其实还是有些问题存在,经常莫名其妙出问题,关键是你还不知道问题出在哪。比如我之前的证书,监控突然就提示证书即将过期……我一看,自动续期失败了,然后我立马手动重签,还是不行。我用了两个DNS,DNSPod和cf。开Debug模式后一看,不知道为什么,他两个DNS顺序弄反了,在别的机器上签证是正常的,原机器就算抹除acme再装再签也还是不行。。。。。

这个时候就是alias模式登场的时候了。注:alias模式在巨多域名签一张证时(大概75个以上)还是会出错。

正文开始

本文为免费无限泛域名ssl证书的补充。其他签证方法的详细图文视频教程请移步。

alias原版官方英文文档↓

https://github.com/Neilpang/acme.sh/wiki/DNS-alias-mode

目录:

一、alias模式概念

官方的文档特详细,工地英语级大概就能看懂。

alias模式就是通过一个域名来验证多个域名。假设你有a.comb.comc.comg.com四个域名在四个不同DNS运营商处且g.com支持API(比如cf)。此时你就可以配置_acme-challenge.a.com_acme-challenge.b.com_acme-challenge.c.comCNAME到_acme-challenge.g.com,然后只通过_acme-challenge.g.com验证全部域名,这就是challenge-alias模式。

其实还一个domain-alias模式,就是CNAME的时候不需要必须CNAME到g.com_acme-challenge前缀的二级域,但是那样不但会导致后期难管理,还比较难理解,咱就不谈这个了。想了解这个的自己去看文档,锚点是#user-content-6-challenge-alias-or-domain-alias

二、用alias模式签证

如概念中所说的,假设域名a.comb.comc.com和支持API的用来验证的g.com,并假设g.com放在cloudflare。

Ⅰ)签根域+泛域证书演示

配置CNAME解析_acme-challenge.a.com_acme-challenge.b.com_acme-challenge.c.com_acme-challenge.g.com。然后等DNS生效(不是本地生效就行,要等到全球生效)后就可以签证了。

按《免费无限泛域名ssl证书》中cloudflare签证教程配置(export)好账号和key(也可以看视频)之后,使用命令:

acme.sh --issue --challenge-alias g.com --dns dns_cf -d a.com,b.com,c.com,g.com,*.a.com,*.b.com,*.c.com,*.g.com

就能签到一张证书了a.comb.comc.comg.com根域和所有二级域都能使用的ssl证书了,如果你不删掉那些CNAME解析和API权限的话,每六十天他还会自动续期。多个alias域名和多个alias域名在不同DNS运营商之类的咱就不讲了,我局的这样不就失去了意义嘛,比普通模式还复杂。≡[。。]≡

Ⅱ)签多个二级域名证书演示

二级域就比较烦了,我还是更喜欢一个证书走天下。

假设你需要签1.a.com2.a.com1.b.comb.com的一张ssl证书,那么你需要配置DNS解析:

_acme-challenge.1.a.com_acme-challenge.2.a.com_acme-challenge.1.b.com_acme-challenge.b.comCNAME到_acme-challenge.g.com。同样等待DNS生效(不是本地生效就行,要等到全球生效)并配置好DNS的key(key只要配置一次)后,用命令签证:

acme.sh --issue --challenge-alias g.com --dns dns_cf -d 1.a.com,2.a.com,1.b.com,b.com

就能拿到一张给1.a.com2.a.com1.b.comb.com用的ssl证书了。同样,不删解析不关API的话每六十天自动续期。

注意:

如果你的alias域名的api有调用速率限制,会在过多域名的情况下无法完成签证!比如DNSpod,短时间只能验证到两次就达到限制了。

不能开启CNAME加速,不能套多层CNAME,必须直接CNAME到alias域名。有残存的_acme-challenge的TXT记录必须要删除。

发表回复

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