SSL:目的地更改 IP 地址后无法识别证书

Posted

技术标签:

【中文标题】SSL:目的地更改 IP 地址后无法识别证书【英文标题】:SSL: certificate not recognized after destination has changed ip address 【发布时间】:2014-09-14 18:54:51 【问题描述】:

将 IP 地址更改为 SVN 服务器后,我尝试使用命令 svn relocate @987654321@ ./ 在 Linux 机器 (Debian Squeeze) 上重新定位我的存储库,但出现此错误:

svn: E120171: 无法连接到 URL 'https://xxx.xxx.xxx.xxx/svn' 的存储库 svn: E120171: Error running context: SSL通信时出错

svn ls @987654322@ 出现同样的错误

我也收到 curl 的错误:

curl -v https://xxx.xxx.xxx.xxx/svn/directory * 即将 connect() 到 xxx.xxx.xxx.xxx 端口 443 (#0) * 正在尝试 xxx.xxx.xxx.xxx... 已连接 * 连接到 xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) 端口 443 (#0) * 成功设置证书验证位置: * CAfile:无 CApath:/etc/ssl/certs * SSLv3,TLS握手,客户端问候(1): * SSLv3、TLS握手、服务器问候(2): * SSLv3、TLS 握手、CERT (11): * SSLv3、TLS 警报、Server hello (2): * SSL证书问题,验证CA证书是否OK。细节: 错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败 * 关闭连接 #0 curl: (60) SSL证书问题,验证CA证书是否OK。细节: 错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败 更多细节在这里:http://curl.haxx.se/docs/sslcerts.html curl 默认使用“捆绑包”执行 SSL 证书验证 证书颁发机构 (CA) 公钥(CA 证书)。如果默认 捆绑文件不够用,您可以指定一个备用文件 使用 --cacert 选项。 如果此 HTTPS 服务器使用由 CA 签名的证书 捆绑包,证书验证可能由于以下原因而失败 证书有问题(它可能已过期,或者名称可能 与 URL 中的域名不匹配)。 如果您想关闭 curl 对证书的验证,请使用 -k(或 --insecure)选项。

在另一台服务器上,相同的命令可以正常工作而不会出错。 是证书问题吗?我怎么能接受?

通常程序会询问我是否必须永久接受它。为什么这不再发生了?

【问题讨论】:

我们需要服务器名称或 IP 地址来检查。从臀部射击,“证书验证失败”表示名称不匹配。您可能需要服务器上的新证书,或者您需要信任不同的 CA。 【参考方案1】:

如果该命令在不在同一域(或 IP)上的另一台服务器上运行,我会先刷新我的 DNS,然后再试一次。证书提供的名称和/或 IP 可能与您尝试连接的域或 IP 不匹配。

【讨论】:

以上是关于SSL:目的地更改 IP 地址后无法识别证书的主要内容,如果未能解决你的问题,请参考以下文章

虚拟机网卡显示未识别的网络,求解决!?

学校公用网络显示已连接,但是未识别,打开浏览器无法进入web登陆页面

将https的ssl证书导入F5,以获取客户端真实IP

换了IP地址,原来的SSL证书是否还能使用?

LetsEncrypt SSL 在 IP 地址上

本地连接受到限制或者无法连接,改过IP地址后,还是上不去网