【问题标题】:SSL certificate is valid but browsers say invalidSSL 证书有效但浏览器显示无效
【发布时间】:2021-11-21 19:12:46
【问题描述】:

我正在寻找解决方案几个小时,但找不到任何解决方案。我正在通过 certbot 使用letsencrypt ssl。

当我在浏览器上查看证书时,我的域是 ektaz.com

Expires: 8 November 2021 Monday 16:24:33 GMT+03:00

当我使用 certbot certificates 从服务器端检查它时,我得到的结果为

Expiry Date: 2021-11-08 13:24:33+00:00 (VALID: 39 days)

但是所有浏览器都说证书无效,我不明白为什么。

我也多次使用certbot renew 续订此证书,到目前为止我没有遇到任何问题。我已经清除了所有缓存,尝试过的结果是一样的。我多次重新启动apache。甚至重新启动了服务器,但没有任何改变。

服务器操作系统:Ubuntu 20.04 LTS

【问题讨论】:

  • 清除浏览器缓存并重试或使用其他浏览器。当我去那里时,我显示的是安全连接。
  • 我已经尝试了 chrome、firefox、safari、opera 和 incognito mod 所有这些,但仍然无效。
  • 它是在今天 19:00 左右开始失败的吗?如果是这样,您就会被 Let's Encrypt 翻转过期问题所困扰。 (现在要是有清晰简洁的解决方案就好了。)
  • 22:00之前没有任何问题
  • R3 中间权威证书好像今天刚过期 过期时间:东部夏令时间 2021 年 9 月 29 日星期三下午 3:21:40。我认为这会使您的证书无效。 techcrunch.com/2021/09/21/lets-encrypt-root-expiry

标签: ssl ssl-certificate lets-encrypt certbot


【解决方案1】:

您的证书可能根本不是无效的。

有一个简单的解决方法。我在这个例子中使用了 nginx 配置风格:

ssl_certificate /usr/local/etc/letsencrypt/live/domain.com/cert.pem;

这样的行需要换成这样的行

ssl_certificate /usr/local/etc/letsencrypt/live/domain.com/fullchain.pem;

然后刷新你的服务器配置。

这个问题无处不在,包括小型和大型网站。

根本原因是旧的网络服务器配置教程提供了 cert.pem 文件(因为它有效),而不是确保浏览器获得验证证书所需的完整链的 fullchain.pem 文件。

不幸的是,Apple、Mozilla 和其他一些公司已经放弃了,仍在使用相同的中间证书 (IdentTrust DST Global Root CA X3),该证书于昨天下午 2:21:40 CST 过期,以检查正在使用的证书它之前。 iOS 15.0 (19A346) 是唯一发布的 Apple 软件版本,即使服务器未发送完整链,也会自动使用新的中间证书。

服务器使用的实际中间证书由 ISRG Root X1 颁发给 R3,但除非您将服务器配置为使用服务器配置中的 fullchain.pem 明确告知浏览器,否则遗憾的是,许多软件公司都有丢球,不要自己做对。

但再一次,这很容易解决。只需对服务器配置文件“cert.pem”->“fullchain.pem”中的行稍作更改,就可以了。

没有理由不永久使用 fullchain.pem 文件。事实上,即使在这种情况发生之前,各种网络(大学校园 WiFi 网络都因此而臭名昭著)会破坏您的证书的授权链,除非您仍然使用 fullchain.pem 文件。 Let's Encrypt 甚至现在建议将此作为配置 Web 服务器以使用证书的唯一正确方法。

【讨论】:

  • 救命稻草,谢谢约瑟夫!
猜你喜欢
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
  • 2017-07-06
  • 2018-05-26
  • 1970-01-01
  • 2020-06-26
相关资源
最近更新 更多