V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
programV2
V2EX  ›  问与答

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

  •  
  •   programV2 · 2021-03-16 11:16:33 +08:00 via iPhone · 2507 次点击
    这是一个创建于 1347 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,我之前用 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

    15 条回复    2021-03-16 13:43:53 +08:00
    ruixue
        1
    ruixue  
       2021-03-16 11:38:29 +08:00
    acme.sh --remove -d example.com
    neilp
        2
    neilp  
       2021-03-16 12:04:31 +08:00
    ```
    acme.sh --issue -d example.com -d "*.example.com"
    ```
    programV2
        3
    programV2  
    OP
       2021-03-16 12:06:19 +08:00 via iPhone
    @ruixue 谢谢我有,但是这个命令只会删除证书,前一次部署时指定的的配置信息会添加到域名文件夹内的配置文件中,我执行 acme.sh —issue.*.example.com 的话就会造成重复冲突, 另外您觉得有必要配置自动更新 acme 吗? acme.sh --upgrade --auto-upgrade 🙏🙏
    programV2
        4
    programV2  
    OP
       2021-03-16 12:12:31 +08:00 via iPhone
    @neilp 谢谢老铁。 但是这样会造成冲突,因为我前一次部署的时候指定的配置信息包含有二级域名 www , 而你这个命令中有泛域名, -d 后面的域名不能有包含关系,脚本下次自动更新域名的时候就会出错。
    @neilp
    ruixue
        5
    ruixue  
       2021-03-16 12:13:06 +08:00   ❤️ 1
    @programV2 这样啊,那试试按照官方文档把 acme 卸载了,清理一下.acme.sh 目录里的文件再重装 acme
    自动更新可以开启,acme 的稳定性还是可以的,自动更新一般不会更新出大 bug
    ruixue
        6
    ruixue  
       2021-03-16 12:18:02 +08:00
    害,没注意到 2 楼就是 acme 的作者,有点班门弄斧的感觉🙈
    msg7086
        7
    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
        8
    msg7086  
       2021-03-16 12:32:45 +08:00
    #4 然后 www 包含关系的话,Le_Alt 里把 www 的那个域名删掉就行了,只保留 example 和*.example 。
    programV2
        9
    programV2  
    OP
       2021-03-16 12:36:34 +08:00 via iPhone
    @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
        10
    programV2  
    OP
       2021-03-16 12:38:37 +08:00 via iPhone
    @msg7086 谢谢大佬。请问 renew 这个操作是必须的吗?脚本是不是每隔一段时间都会自动 renew ?
    msg7086
        11
    msg7086  
       2021-03-16 12:55:26 +08:00
    renew 就是按照 conf 里的配置重新生成一张证书嘛。
    你现在的证书只包含老的域名对不对,改完以后马上想用上新证书,那就 renew 一下嘛,就有了。
    programV2
        12
    programV2  
    OP
       2021-03-16 12:59:24 +08:00 via iPhone
    @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
        13
    msg7086  
       2021-03-16 13:04:16 +08:00
    对的。你 renew 一下试试就知道了。

    当然前提是你 dns 签发部分配置正确,两个域名都能验证通过。
    programV2
        14
    programV2  
    OP
       2021-03-16 13:12:10 +08:00 via iPhone
    🙏 请问什么是 dns 签发部分配置? 我两域名都是托管在 cf , 用的 dns api 验证的方式签发,除了配置 Api key 还有其他的需要配置吗?
    @msg7086
    msg7086
        15
    msg7086  
       2021-03-16 13:43:53 +08:00   ❤️ 1
    那应该没问题。你签一个试试就知道了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2495 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:12 · PVG 09:12 · LAX 17:12 · JFK 20:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.