请查看以下内容:
问题:在防火墙服务器上通过命令行调用SVN后,15秒内没有任何可见的操作,然后程序以以下错误退出:
svn:E170013:无法连接到URL为'SVN.REPOSITORY.REDACTED'的存储库
svn:E730054:运行上下文时出错:现有连接被远程主机强制关闭。
调查:对上述错误的互联网研究未发现任何相关信息。
进程跟踪(procmon)显示,在与SVN服务器进行SSL / TLS握手后,尝试连接到Akamai(云服务)服务器。进程跟踪中未显示服务器的主机名。反向DNS查找显示a184-51-112-88.deploy.static.akamaitechnologies.com或a184-51-112-80.deploy.static.akamaitechnologies.com作为主机名,并且IP地址为184.51.112.88或184.51.112.80(DNS缓存中有2个条目)。
数据包捕获工具(MMA)显示在与SVN服务器进行SSL / TLS握手后,尝试连接到主机名ctldl.windowsupdate.com。
The windows加密API试图连接到Windows Update以检索证书吊销信息(CRL-证书吊销列表)。 CRL检索的默认超时时间为15秒。 服务器身份验证的超时时间为10秒;由于15大于10,因此失败。
解决方案:互联网研究发现以下内容:(请参见下方图片)
解决方案1:减少CRL超时组策略->计算机配置-> Windows设置->安全设置->公钥策略->证书路径验证设置->网络检索-请参见下图。
https://subversion.open.collab.net/ds/viewMessage.do?dsForumId=4&dsMessageId=470698
support.microsoft.com/en-us/kb/2625048
blogs.technet.com/b/exchange/archive/2010/05/14/3409948.aspx
解决方案2:为CRL流量打开防火墙。
support.microsoft.com/en-us/kb/2677070
解决方案3:SVN命令行标志(未经测试)
serverfault.com/questions/716845/tortoise-svn-initial-connect-timeout -
使用替代的svn命令行标志解决方案。
附加信息:调试此问题特别困难。SVN 1.8禁用了支持Neon HTTP RA(存储库访问)库,转而使用Serf库,该库删除了客户端调试日志记录。[1] 此外,返回的SVN错误代码与svn_error_codes.h中给出的字符串不匹配。[2] 此外,SVN错误代码不能轻松地映射回其ENUM标签,这种情况下,SVN错误代码E170013映射到SVN_ERR_RA_CANNOT_CREATE_SESSION。
- stackoverflow.com/questions/8416989/is-it-possible-to-get-svn-client-debug-output
- people.apache.org/~brane/svndocs/capi/svn__error__codes_8h.html#ac8784565366c15a28d456c4997963660a044e5248bb3a652768e5eb3105d6f28f
- code.google.com/archive/p/serf/issues/172
建议的SVN变更:
对所有操作启用命令行的详细模式
将错误ENUM名称添加到stderr
为Serf库调试日志添加配置标志