在尝试通过Ansible自动生成和安装一批证书时,我发出了以下命令。
Certbot-d*.example.in-d Example.in-a dns-CloudFlare-i apache-n--Email Info@Example.com--Agree-Tos--Expand--重定向--no-ef-mail--保留至过期
在此基础上抛出以下错误。
...“缺少此设置的命令行标志或配置项:”、“您要为哪些VirtualHosts安装通配符证书?”...
现在,因为它是非交互的,所以我需要通过标志来传递我的选择,那么有没有标志来解决上面的提示,由cguroo在帖子#4中解决
所以目前,我只是使用了Ansible的“Expect”模块,并将安装模式恢复为交互模式,然后从安装提示符中输入选项,这样,我就不必依赖任何自动化标志。
仅限证书
[编辑]
您可能应该检查一下:
Certbot证书
(测试前后)
一旦成功,您应该能够通过新的证书名称引用它。
它还将有一个续订配置文件-这可能会将未来的续订减少到以下几个级别:
Cerbot renew--cert-name然而,您将被要求更新任何将使用新的通配符证书的vhost文件(但只更新一次)。Certbot的apache插件似乎没有提供非交互方式来解决这个问题。
我同意只使用certonly和预配置虚拟主机可能对Ansible更好。它更接近于幂等的概念,因为Apacheplugin会改变您的配置。所以目前,我只是使用了Ansible的“Expect”模块,并将安装模式恢复为交互模式,然后从安装提示符输入选项,这样,我就不必依赖任何自动化标志了。如果certbot GitHub页面上没有关于这方面的问题,我最好打开一个