我已经使用Windows Azure(SLAVE)在一个新的虚拟机中设置了VisualSVN。我已经从我们的内部服务器(MASTER)手动复制了一个现有的存储库,我可以使用TortoiseSVN在我的客户端机器(client)上看到这两个repo。
从CLIENT,使用访问MASTER
svn://MASTER/repo....
而使用访问SLAVE
https://SLAVE.cloudapp.net:8443/svn/repo....
我已经更新了我们内部服务器(MASTER,运行Collabnet Edge)上的提交后挂钩,以同步到Azure服务器(SLAVE,运行VisualSVN)。当我第一次使用远程桌面从我们的内部服务器MASTER中运行此同步批处理文件时,它提示我出现证书错误"(R)弹出,临时接受(t)。。。etc’,我选择了"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 ....
我看了这个SO问题,这个问题看起来可能很相关,但我在证书方面很薄弱。有人能给我指正确的方向吗?感谢您的帮助。
我使用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