【问题标题】:unable to config certbot with nginx to accept https无法使用 nginx 配置 certbot 以接受 https
【发布时间】:2019-07-28 18:12:28
【问题描述】:

当我尝试使用 this tutorial 和其他类似的 certboot 配置我的 nginx 应用程序时。我总是使用 certbot 的相同 amswer

将调试日志保存到 /var/log/letsencrypt/letsencrypt.log 插件 selected: Authenticator nginx, Installer nginx 获取新的 证书执行以下质询:http-01 质询 sicocme.enterpriserealdomain.com http-01 挑战 www.sicocme.enterpriserealdomain.com 正在等待验证... 清理挑战 授权程序失败。 sicocme.enterpriserealdomain.com (http-01): urn:ietf:params:acme:error:connection :: 服务器无法连接 到客户端验证域::dns::DNS问题:NXDOMAIN 查找 sicocme.enterpriserealdomain.com 的 A, www.sicocme.enterpriserealdomain.com (http-01): urn:ietf:params:acme:error:connection :: 服务器无法连接 到客户端验证域::dns::DNS问题:NXDOMAIN 为 www.sicocme.enterprisrealdomain.com 查找 A

重要提示: - 服务器报错如下:

域名:sicocme.enterprisrealdomain.com 类型:connection
详情:dns :: DNS 问题:NXDOMAIN 查找 A for
sicocme.enterpriserealdomain.com

域名:www.sicocme.enterpriserealdomain.com 类型:连接 详情:dns :: DNS 问题:NXDOMAIN 查找 A for
www.sicocme.enterpriserealdomain.com

要修复这些错误,请确保您的域名是
正确输入和该域的 DNS A/AAAA 记录
包含正确的 IP 地址。此外,请检查
您的计算机有一个可公开路由的 IP 地址,并且没有
防火墙阻止服务器与
客户。如果您使用的是 webroot 插件,您还应该验证
您正在从您提供的 webroot 路径提供文件。

当我检查我的域服务器时,具有正确 IP 地址的 www 和 no-www 都存在 A 记录。服务器可以上网,可以通过IP或域名访问或被访问,证明DNS域识别本机并存在

我也让舒尔允许使用 ufw 的正确端口

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere
5432/tcp                   ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
443/tcp (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
22/tcp (v6)                ALLOW       Anywhere (v6)
5432/tcp (v6)              ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

为什么会发生这种情况? 提前致谢!

【问题讨论】:

    标签: ssl nginx dns certbot


    【解决方案1】:

    问题是您的 DNS 记录尚未传播。请参阅下面的网址 - https://dnsmap.io/#A/sicocme.enterpriserealdomain.com

    确保您的 DNS 记录得到传播,一切正常。

    【讨论】:

    • 我的网络是私人网络。无意在外部提供商中注册此 DNS 服务器。如何检查记录在我的网络上的传播情况?此网络未暴露在互联网上
    • certbot 部署letsencrypt 证书,这需要对域的所有者进行验证。目前它可以使用 DNS 记录验证或 http 质询来做到这一点。无论哪种情况,您都需要验证您是否拥有该域。
    • 但我不知道为什么找不到我的 DNS。在这样的情况下我该怎么办?如何让letsencrypt在本地通过记录或http质询通过DNS验证?
    • 您需要为您的域添加 DNS 记录以进行验证。
    • 我已经添加了一条 A 和一条 CNAME 记录。在端口 80 中监听时,我可以像 http://sicocme.enterpriserealdomain.com 这样访问我的应用程序。这不是证明 DNS 配置正确吗?我是否需要添加另一种记录。主机文件也已更新以适应此配置
    【解决方案2】:

    这是同样的问题,但与 Apache

    检查服务器设置的A记录然后

     sudo certbot --apache -d DOMAIN_WOTHOUT_WWW -d DOMAIN_WITH_WWW
    

    然后就可以正常使用了。

    【讨论】:

      【解决方案3】:

      您应该为 www.yourdomain.com(对于 www)添加新的 DNS 记录。

      我认为您只为“@”添加了 DNS 记录 请检查:

      【讨论】:

        猜你喜欢
        • 2016-09-29
        • 2020-08-24
        • 2019-09-04
        • 1970-01-01
        • 2014-08-06
        • 1970-01-01
        • 2016-04-19
        • 2016-09-24
        • 2020-01-11
        相关资源
        最近更新 更多