最近我在 StackOverflow 上看到了一个由 Chalda Pnuzig 发布的有趣问题,觉得值得分享给大家,并附上解决该错误的最佳方案。以下是原始问题:

"在将 IP 地址更改为 SVN 服务器后,我尝试在 Linux 机器(Debian Squeeze)上用命令 svn relocate https://xxx.xxx.xxx.xxx/svn/dir ./ 重新定位我的代码仓库,但遇到了如下错误:"

下面是 Chalda 所提问题及遇到的错误详情截图,他也说明了在目标 IP 地址变更后遇到的错误类型与困难。

解决方案

我们的技术团队深入研究了该问题,总结出以下两种可能的情况:

情况一:域名与 SSL 证书不匹配

你通过 IP 地址以 https 端口访问远程主机。SSL 证书仅针对域名签发,而非 IP 地址。即便你持有受信任 CA 签发的 SSL 证书,仍可能遇到相同问题。请确认域名必须与 SSL 证书中的域名一致。

情况二:自签名 SSL 证书

内部网络设备与服务器大多配置为自签名 SSL 证书,你可能正面临同样的场景。你原本持有针对旧 IP 地址签发的自签名 SSL 证书,应当删除它,并为新 IP 地址创建新的自签名证书。

即便创建了新的自签名 SSL,问题也未必就此解决。自签名证书默认不被大多数浏览器或应用程序信任,你需要手动接受自签名证书的信任。一旦它被永久存储到主机上,便不会再看到该错误。

参考来源

原始讨论来源于 StackOverflow:http://stackoverflow.com/questions/24913036/ssl-certificate-not-recognized-after-destination-has-changed-ip-address