我正在尝试使用certbot设置ssl。我的网络服务器是nginx。当我运行命令“sudo ./certbot-auto certonly”时,我进入了我使用netfirms购买的域名。该域名指向我的amazon ec2实例(公共IP)。我收到此错误“类型:未授权详细信息:TLS-SNI-01质询的验证证书不正确。”为什么会这样?
答案 0 :(得分:1)
我假设它是您正在使用的apache插件。
apache插件的工作方式是它添加一个临时的"假的"证书和SNI主机名,解决了TLS-SNI-01挑战。由于此服务器具有多个IP地址,因此我不确定apache插件是否能够确定正在侦听此临时IP地址的IP地址。我至少没有看到明确提到这种情况的成功故事。
您最好的选择可能是切换到webroot插件,该插件的工作方式是将文件写入现有的DocumentRoot。如果您想在使用webroot身份验证器时继续使用自动apache配置,请尝试以下操作:
./certbot-auto --authenticator webroot --installer apache -w /var/www/html -d example.com
答案 1 :(得分:0)
我遇到了类似的问题 - 只有在尝试更新现有密钥时才会出现。
我注意到的是验证错误说它发现了一个证书,其中包含我之前在证书中请求过的所有其他域名。
为什么验证者会看到以前的证书?
从日志中可以为新证书中的每个域设置一个新的VirtualHost,以验证服务器是DNS指向的服务器。如果这些迷你VirtualHosts中的每个域都看到现有的证书,那么对这些迷你VirtualHosts的验证请求就无法正常工作 - 我虽然"我的虚拟主机设置在某种程度上导致了问题!"
我想也许是因为我的虚拟主机中有一个通配符,它在迷你临时VirtualHosts之前以某种方式被拾取。
我已将现有主机命名为3位数字前缀,因此我可以仔细订购它们,因为Apache表示它按字母顺序处理.conf文件。这意味着它们将在以字母开头的任何其他.conf文件之前得到处理。
我通过添加' c'来重命名我的.conf文件。数字之前的前缀,现在它出现在它的工作中,因为它至少现在已经通过验证阶段 - 除了现在我已超过本周的20个关键请求所以我无法完成该过程然而!!卫生署!