我在Windows Server 2008 R2企业下遇到以下问题,通过cygwin运行Jenkins监控的以下代码:
svn co --trust-server-cert --non-interactive --username=xxx --password=xxxx https://xxx/testprojects C:/source/testprojects
这导致Jenkins日志中出现以下错误消息:
svn: E175002: Unable to connect to a repository at URL 'https://xxx/testprojects'
svn: E175002: OPTIONS of 'https://xxx/testprojects': SSL handshake failed: SSL error code -1/1/336032856 (https://xxx)
Jenkins正在使用SYSTEM帐户运行。
我试过del %APPDATA%/Subversion/auth
,结果是一样的。同时删除--trust-server-cert没有任何更改。
预设:windows server 2008 RE2(windows 7),cygwin 1.7.9(0.237 / 5/3),Jenkins作为服务(此刻不知道如何查看版本) 复制步骤:
答案 0 :(得分:0)
尝试更改" xxx"在https://xxx/testprojects
中从DNS到IP,反之亦然(参见https://stackoverflow.com/a/8351174/1996150)。
这为我解决了同样的错误(在不同的环境中,svn版本1.7.10)。
在我的情况下,问题只出现在svn中(浏览器和openssl打开了https网址,但是svn返回了错误),所以我认为这是svn问题和服务器证书识别的混合。
如果这不能解决问题,则可能是另一个问题,但您可以使用
测试SSL连接openssl s_client -connect xxx:443
注意:在我的情况下,我还尝试将当前服务器证书删除到~/.subversion/auth/svn.ssl.server
但是没有工作......