【问题标题】:Incorrect validation on sslssl 验证不正确
【发布时间】:2017-01-19 08:34:40
【问题描述】:

我正在尝试使用 certbot 设置 ssl。我的网络服务器是 nginx。当我运行命令“sudo ./certbot-auto certonly”时,我输入了我使用 netfirms 购买的域。该域指向我的亚马逊 ec2 实例(公共 ip)。我收到此错误“类型:未经授权的详细信息:TLS-SNI-01 质询的验证证书不正确。”为什么会这样?

【问题讨论】:

    标签: amazon-web-services ssl nginx amazon-ec2


    【解决方案1】:

    我遇到了类似的问题 - 仅在尝试更新现有密钥时。

    我注意到验证错误表明它找到了一个包含我之前在证书中请求的所有其他域名的证书。

    为什么验证器会看到之前的证书?

    从日志看来,它似乎为新证书中的每个域设置了一个新的 VirtualHost,以验证服务器是否是 DNS 指向的服务器。如果这些迷你 VirtualHosts 看到其中每个域的现有证书,则对这些迷你 VirtualHosts 的验证请求将无法正常工作 - 我虽然“我的虚拟主机设置以某种方式导致了问题!”

    我想可能是因为我的 virtualHost 中有一个通配符,它​​在迷你临时 VirtualHosts 之前以某种方式被拾取。

    我已经用 3 位数字前缀命名了我现有的主机,以便我可以仔细排序它们,因为 Apache 说它按字母顺序处理 .conf 文件。这意味着它们将在任何其他以字母开头的 .conf 文件之前得到处理。

    我通过在数字前添加一个“c”前缀重命名了我的 .conf 文件,现在它显示在虽然它正在工作,因为它至少现在通过了验证阶段 - 除了现在我已经超过了一周的 20 个关键请求所以我还不能完成这个过程!!呸!

    【讨论】:

      【解决方案2】:

      我假设它是您正在使用的 apache 插件。

      apache 插件的工作方式是添加一个临时的“假”证书和解决 TLS-SNI-01 挑战的 SNI 主机名。由于这个服务器有多个 IP 地址,我不确定 apache 插件是否能够确定正确的 IP 地址来监听这个临时的 .至少,我还没有看到任何明确提及这种情况的成功案例。

      您最好的选择可能是切换到 webroot 插件,该插件通过将文件写入您现有的 DocumentRoot 来工作。如果您想在使用 webroot 身份验证器时继续使用自动 apache 配置,请尝试以下操作:

      ./certbot-auto --authenticator webroot --installer apache -w /var/www/html -d example.com
      

      【讨论】:

      • @error2007s- 我可以将它与 nginx 一起使用还是需要 apache 网络服务器
      猜你喜欢
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      • 2020-10-23
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      相关资源
      最近更新 更多