2017-06-08 29 views
0

我试图为www和非www的单个域名生成证书。Certbot www和non-www与--non-interactive = vhost ambiguity

这是我现在运行它:

certbot --apache -n -d domain.tld -d www.domain.tld --agree-tos --email [email protected] --redirect 

但我发现了以下几点:

遇到虚拟主机不确定性,但无法在 非交互模式,要求用户指导。目前Certbot需要每个虚拟主机都在其 自己的conf文件中,并且可能需要虚拟主机明确标记为 ServerName或ServerAlias目录。

所以我必须在没有-n( - 非交互式)的情况下运行它并选择正确的vhost文件。

有什么办法可以在没有任何提示的情况下为www和non-www生成证书吗?

回答

0

有很多可能导致此错误消息。它表明您的虚拟主机配置有问题。 但总的最突出的原因:

  • 您有多个<VirtualHost >在一个.conf文件
  • 您有多个.conf文件,例如端口80和443,它们不具有完全相同的ServerName和/或ServerAlias属性
  • 没有指定任何ServerName都在.conf文件
  • domain.tld和/或www.domain.tld.conf文件没有指定

此外,我建议您运行带有--dry-run选项的certbot进行调试。另外,对于cron的自动更新,有/etc/certbot-auto renew
所以,你可以试试/etc/certbot-auto renew --dry-run只取配置文件中指定的所有域。 提醒:请不要忘记在vhost配置中的每次更改后都重新启动或重新加载apache service apache2 restart或更高版本