【问题标题】:SSL Certificate host name mismatch in certbot even though both names have certificatescertbot 中的 SSL 证书主机名不匹配,即使两个名称都有证书
【发布时间】:2020-04-22 08:38:00
【问题描述】:

我不知道如何解决这个 SSL 错误 --

我的 SSL 证书在 Chrome 上运行良好,但在 Safari 和 Firefox 中,如果我访问 www.domain.com 而不是 domain.com,则会收到主机名不匹配的错误

我已经使用 Certbot 为我的 domain.com 和 www.domain.com 的域设置了 SSL 证书

当我检查 nginx 以确保证书存在时,我运行 sudo certbot --nginx,然后在询问 Which names would you like to activate https for? 时选择两个域,对于 domain.com 和 www.domain.com,我得到结果"You have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry" 并询问我是否要尝试重新安装或续订和更换证书。

我不确定我可以采取哪些其他步骤,因为上次我安装 certbot 我只是按照说明操作,对 www 和非 www 地址进行了上述操作,并且它只适用于 www 和非 www !

有人对下一步做什么有任何建议吗?

TLDR:

domain.com:在 firefox/safari 中运行良好,nginx 说证书存在

www.domain.com:firefox/safari 中的主机名不匹配,nginx 说证书存在

为什么?!

【问题讨论】:

    标签: laravel ssl nginx https certbot


    【解决方案1】:

    在搞砸了一段时间后,尝试了@xyz 的 ssl 检查器,我发现了以下几点:

    两个证书都有效

    当我使用 certbot 重新安装证书时,最新的证书将开始工作,而之前的证书将停止工作

    原来我需要将另一个 url 作为子域添加到现有证书并修复它!

    我用过:

    sudo certbot -d domain.com -d www.domain.com

    这样就成功了

    【讨论】:

      【解决方案2】:

      您可以通过外部服务检查这两个域,例如这里:

      https://www.sslshopper.com/ssl-checker.html

      它会告诉你证书是否正确安装在两者上。

      您还应该在 Chrome 中打开一个新选项卡,打开开发者工具,记录网络请求,然后转到 www.domain.com 并查看 Chrome 进行的重定向以及它实际向哪个 URL 发出请求。也许它有一些基于先前成功解析的 URL 的自动 URL 更改。

      【讨论】:

      • 所以这告诉我两个证书都是有效的,但我发现了问题,将作为答案发布