SSL:目标IP地址更改后证书未被识别

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

svn: E120171: 无法连接到 URL 为 'https://xxx.xxx.xxx.xxx/svn' 的存储库
svn: E120171: 运行上下文时发生错误:SSL 通信期间发生错误

对于svn ls https://xxx.xxx.xxx.xxx/svn 我也收到同样的错误。

此外,curl 也出现了错误:

curl -v https://xxx.xxx.xxx.xxx/svn/directory                                                 * About to connect() to xxx.xxx.xxx.xxx port 443 (#0)
* Trying xxx.xxx.xxx.xxx... connected
* Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3,TLS握手,客户端hello(1):
* SSLv3,TLS握手,服务器hello(2):
* SSLv3,TLS握手,CERT(11):
* SSLv3,TLS警报,服务器hello(2):
* SSL证书问题,请验证CA证书是否正确。细节如下:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Closing connection #0
curl:(60) SSL证书问题,请验证CA证书是否正确。细节如下:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl 默认使用“bundle”验证 SSL 证书,其中包含证书颁发机构(CA)的公钥(CA 证书)。如果默认的 bundle 文件不够用,您可以使用 --cacert 选项指定替代文件。 如果此 HTTPS 服务器使用由 bundle 中表示的 CA 签名的证书,则证书验证可能因证书出现问题而失败(例如,它可能已过期,或者名称可能与 URL 中的域名不匹配)。 如果您想关闭 curl 对证书的验证,请使用“-k”(或--insecure)选项。

在另一台服务器上,相同的命令正常运行没有错误。

这是证书问题吗?我该如何接受它?

通常程序会问我是否要永久接受它,但为什么现在不再出现这个提示了?


我们需要服务器名称或IP地址来检查事情。毫不犹豫地说,“证书验证失败”表示名称不匹配。您可能需要在服务器上获得新证书,或者需要信任一个不同的CA。 - jww
1个回答

0
如果命令在不同域名(或IP)的另一台服务器上可以正常工作,我建议先清除DNS缓存,然后再尝试。很可能证书中提供的名称和/或IP与您尝试连接的域名或IP不匹配。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接