Subversion post commit hook SSL证书错误'为不同的主机名发出的证书'

时间:2014-08-31 10:42:04

标签: svn azure ssl visualsvn

我使用Windows Azure(SLAVE)在新VM中设置了VisualSVN。我已经从我们的内部服务器(MASTER)手动复制现有存储库到它,我可以使用TortoiseSVN在我的客户机(CLIENT)上看到两个存储库。

从CLIENT,使用

访问MASTER
svn://MASTER/repo....

使用

访问SLAVE
https://SLAVE.cloudapp.net:8443/svn/repo....

我已更新内部服务器上的post commit hook(MASTER,运行Collabnet Edge)以同步到Azure服务器(运行VisualSVN的SLAVE)。当我第一次使用远程桌面从我们的内部服务器MASTER中运行此同步批处理文件时,它提示我出现“(R)弹出,接受(t)暂时......等”的证书错误,我选择了'p'(永久) 。从现在开始,使用远程桌面在MASTER上运行时,所有同步操作都可以。

从我的客户端机器CLIENT执行提交时,这会像往常一样更新MASTER上的repo,但后来我收到TortoiseSVN错误:

Error validating server certificate for
 'https://myserver.cloubapp.net:8443'
 - This certificate is not issued by a trusted authority....
 The certificate hostname does not match...
svnsync:E175002 OPTIONS of 
'https://myserver.cloubapp.net:8443/svn/myrepo' 
server certificate verification failed: certificate
 issued for a different hostname, issuer is not trusted
 (https://myserver.cloudapp.net:8443)

我认为当MASTER尝试在SLAVE上与VisualSVN通信时,此错误是SSL错误。因此,我使用VisualSVN在MASTER上导出证书,并将其导入CLIENT,将其放入“受信任的根证书颁发机构”,但这并没有阻止错误。

我也尝试过添加:

--trust-server-cert --non-interactive

到我的钩子中的svnsync行,但我仍然得到

....certificate issued for a different hostname, issuer is not trusted ....

我看了this SO question似乎可能相关,但我对这个证书的东西非常弱。有人能指出我正确的方向吗?任何帮助感激不尽。

1 个答案:

答案 0 :(得分:0)

我正在使用VisualSVN Server 3.5.4并发现了类似的问题,但对我来说,在提交更改时会在CLIENT上抛出以下错误

svnsync: E230001: Server SSL certificate verification failed: certificate has expired

这是我的商业证书已过期。

解决了这个问题
create a new self-signed certificate on SLAVE's VisualSVN Certificate setting
*the Common name must matches your SLAVE domain name

并添加MASTER

--trust-server-cert --non-interactive