我使用 NginX 在 Ubuntu 22.04 服务器上配置了四个网站。
数据库连接出现技术问题,需要我将这四个网站移至新服务器。
我将其中三个移至一台服务器,将第四个移至另一台服务器。这是问题域。
我为所有四个站点创建了新的 Letsencrypt 证书。
第四个网站现在位于与其他三个网站不同的服务器上,并显示错误该网站不安全当我参观它的时候。
当我查看证书详细信息时,我发现该证书适用于其他三个网站之一,在不同的服务器上,使用不同的域名。
我做了两件事:
- 登录到旧服务器并执行
certbot delete
所有证书 - 登录到未托管问题站点的新服务器,并
certbot delete
针对浏览器错误页面中显示的错误证书执行了操作
现在,错误域名的已删除证书是仍然在浏览器中显示(Safari 和 Chrome/Mac)。
据我所知,SSL 证书不会被缓存,而是由服务器在每次请求时提供。
- 在 Mac 上的终端中,我尝试了
curl -vvI https://example.com
,并获得了正确的新证书。 - 在终端中我尝试
echo | openssl s_client -showcerts -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -inform pem -noout -text
从另一台服务器获取证书 - 我重新执行了第一个命令,这次我得到了错误的证书
距离约 15,000 公里的一位朋友也拿到了错误的证书。
我不明白这是怎么可能的:
- 显示的证书从一开始就位于单独的服务器上
- 从一开始就是不同的域名
- 已被删除
- 新的、正确的证书从一开始就可用(并且我尝试重新安装它)