使用SVN的SSL握手失败
我正在尝试访问已使用一段时间的SVN服务器,但现在收到以下错误: SSL握手失败:SSL错误:已发送TLS警告警报 收到 在我以前没有访问过服务器的其他机器上(所有这些都是在CentOS上完成的),系统会提示我(R)弹出、临时接受(t)或永久接受(p)?选择提供的证书,然后我就能成功连接。我的结论是,旧证书已缓存,我需要获取一个新证书,但是,我无法找到清除它的方法,并且在运行svn时再次收到此提示使用SVN的SSL握手失败,svn,centos,ssl,Svn,Centos,Ssl,我正在尝试访问已使用一段时间的SVN服务器,但现在收到以下错误: SSL握手失败:SSL错误:已发送TLS警告警报 收到 在我以前没有访问过服务器的其他机器上(所有这些都是在CentOS上完成的),系统会提示我(R)弹出、临时接受(t)或永久接受(p)?选择提供的证书,然后我就能成功连接。我的结论是,旧证书已缓存,我需要获取一个新证书,但是,我无法找到清除它的方法,并且在运行svn时再次收到此提示 我确实读过许多类似的问题,这导致我清除/删除了我的.subversion文件夹,但即使在这之后,它
我确实读过许多类似的问题,这导致我清除/删除了我的.subversion文件夹,但即使在这之后,它仍然不会提示我证书,并且由于上述错误而继续失败。有什么想法吗?您没有指定在哪个版本的CentOS上遇到此问题 EL6附带的subversion是针对GnuTLS链接的,这是对以前针对OpenSSL链接的版本的更改 您可以使用ldd对此进行测试:
$ ldd /usr/bin/svn | grep ssl
$ ldd /usr/bin/svn | grep tls
libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x0030f000)
$
GnuTLS库在某些情况下更为特殊。最常见的两种:
svn switch --relocate https://foo.com/my-repo-name https://1.2.3.4/my-repo-name
您还可以尝试从源代码构建subversion,并在配置中使用openssl而不是gnutls。这个问题可以通过编辑Apache配置来解决。
ServerName
指令应设置在VirtualHost
块内,例如:
<VirtualHost *:443>
ServerName mywebsite.com
</VirtualHost>
服务器名mywebsite.com
ServerName
应与您的SSL证书上的CN或其中一个备选名称匹配。我在CentOS 6.3上。我在没有看到这篇文章的情况下做了一些非常接近IP建议的事情,它确实帮助我解决了这个问题。但我不明白为什么。感谢您提供关于不同GnuTLS库的解决方案和背景。这有助于澄清一些谜团。