SSL证书有效,但浏览器显示无效



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

我的域名是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。即使重启了服务器,也没有任何变化。

Server OS:Ubuntu 20.04 LTS

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

有一个简单的修复方法。在这个例子中,我使用了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文件,确保浏览器获得验证证书所需的完整链。

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

服务器使用的实际中间证书是由ISRG Root X1颁发给R3的,但除非您配置服务器通过使用全链显式地告诉浏览器。Pem在服务器配置中,那么遗憾的是,许多软件公司已经犯了错误,他们自己没有做好。

但是再一次,这是一个简单的修复。只需在服务器的配置文件"cert.pem"→"fullchain.pem"你会没事的。

没有理由不继续使用全链。Pem文件永久保存。事实上,即使在这种情况之前,各种网络(大学校园WiFi网络就是臭名昭著的)都会破坏你的证书的授权链,除非你使用全链。Pem文件。Let's Encrypt现在甚至建议将此作为配置web服务器使用证书的唯一正确方法。

相关内容

最新更新