Acme.sh 自动签发多个域名证书的问题

2021-03-16 11:16:33 +08:00
 programV2

大家好,我之前用 dns api 自动验证并生成证书 , (用 cf dns ) acme.sh --issue dns -d abc.com -d www.abc.com --fullchain-file /home/user, 现在想使用通配符证书 *.abc.com ,并增加多个域名, 因为 acme.sh 脚本工具会自动保存上面的签发配置参数,但是要求-d 后的域名不能有重复,例如 www.abc.com 和 *.abc.com ,后者包含前者, 如果我再执行 acme.sh --issue dns -d abc.com -d *.abc.com ,就会造成这种重复,请问该怎么手动更改或者删除之前的 acme.sh —issue 保存的配置参数? 谢谢🙏🙏

另外大家觉得有 需要配置自动更新 acme 吗? acme.sh --upgrade --auto-upgrade

2268 次点击
所在节点    问与答
15 条回复
ruixue
2021-03-16 11:38:29 +08:00
acme.sh --remove -d example.com
neilp
2021-03-16 12:04:31 +08:00
```
acme.sh --issue -d example.com -d "*.example.com"
```
programV2
2021-03-16 12:06:19 +08:00
@ruixue 谢谢我有,但是这个命令只会删除证书,前一次部署时指定的的配置信息会添加到域名文件夹内的配置文件中,我执行 acme.sh —issue.*.example.com 的话就会造成重复冲突, 另外您觉得有必要配置自动更新 acme 吗? acme.sh --upgrade --auto-upgrade 🙏🙏
programV2
2021-03-16 12:12:31 +08:00
@neilp 谢谢老铁。 但是这样会造成冲突,因为我前一次部署的时候指定的配置信息包含有二级域名 www , 而你这个命令中有泛域名, -d 后面的域名不能有包含关系,脚本下次自动更新域名的时候就会出错。
@neilp
ruixue
2021-03-16 12:13:06 +08:00
@programV2 这样啊,那试试按照官方文档把 acme 卸载了,清理一下.acme.sh 目录里的文件再重装 acme
自动更新可以开启,acme 的稳定性还是可以的,自动更新一般不会更新出大 bug
ruixue
2021-03-16 12:18:02 +08:00
害,没注意到 2 楼就是 acme 的作者,有点班门弄斧的感觉🙈
msg7086
2021-03-16 12:31:41 +08:00
虽然 2 楼就是 acme 的作者,我还是要来班门弄斧一番。
打开 example/example.conf,然后修改里面的 Le_Alt 。

比如改成
Le_Domain='a.example.x'
Le_Alt='a.example.x,b.example.x,*.example.x'
然后再强制 renew 一次应该就好了。
msg7086
2021-03-16 12:32:45 +08:00
#4 然后 www 包含关系的话,Le_Alt 里把 www 的那个域名删掉就行了,只保留 example 和*.example 。
programV2
2021-03-16 12:36:34 +08:00
@neilp @neilp 🙏大佬,我表述的不够简洁,vps 上已经执行 acme. sh --issue -d example.com -d www.example.com ,看教程上提到这配置信息已默认添加到域名文件夹内的配置文件中了吧? 现在我想要改成通配符证书 并且顺便增加其他一级域名 efg. Com. 不需要修改配置文件吗? 只要 acme. sh --issue -d example.com -d "*.example.com -d efg.com -d *.efg.com 就可以了吗?
programV2
2021-03-16 12:38:37 +08:00
@msg7086 谢谢大佬。请问 renew 这个操作是必须的吗?脚本是不是每隔一段时间都会自动 renew ?
msg7086
2021-03-16 12:55:26 +08:00
renew 就是按照 conf 里的配置重新生成一张证书嘛。
你现在的证书只包含老的域名对不对,改完以后马上想用上新证书,那就 renew 一下嘛,就有了。
programV2
2021-03-16 12:59:24 +08:00
@msg7086 @neilp 两位大佬,用 acme. sh --issue -d example. com -d "www. example. com" 为什么我的 conf 中 le_alt 沒有 example. com , 目前是这样:
Le_Domain='example. com'
Le_Alt='www. example. com'

然后现在我想要通配符证书,并且增加其他一级域名 egg.com 只要改成下面这样就行了吗?🙏
Le_Domain='example. com'
Le_Alt='example. com,*.example. com,egg. com,* .egg. com'
msg7086
2021-03-16 13:04:16 +08:00
对的。你 renew 一下试试就知道了。

当然前提是你 dns 签发部分配置正确,两个域名都能验证通过。
programV2
2021-03-16 13:12:10 +08:00
🙏 请问什么是 dns 签发部分配置? 我两域名都是托管在 cf , 用的 dns api 验证的方式签发,除了配置 Api key 还有其他的需要配置吗?
@msg7086
msg7086
2021-03-16 13:43:53 +08:00
那应该没问题。你签一个试试就知道了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/762030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX