[我希望这是适合此问题的 StackExchange 网络,不确定这是否更属于这里或 Unix+Linux 网络]
以前,我只是在 Linux 笔记本电脑上使用 svn CLI,一切正常。现在我迁移到一台新的台式 Linux 机器(相同的 Arch Linux 发行版,复制了所有配置文件),它突然拒绝连接。奇怪的是
- 我仍然可以通过同一个 WiFi 网络连接我的旧笔记本电脑
- 在新机器上,svn CLI 无法工作,但 TortoiseSVN(在 wine 内部)可以工作做工作!
我不知道这是什么原因造成的。我问我们的 SVN 服务器管理员是否有想法,但他也不知道。显然我是唯一遇到这个问题的人。
一些细节:
命令
svn list https://svn.OUR.DOMAIN/svn/REPO/trunks/OURTRUNK
svn: E170013: Unable to connect to a repository at URL 'https://svn.OUR.DOMAIN/svn/REPO/trunks/OURTRUNK'
svn: E000111: Error running context: Connection refused
checkout
或其他任何内容都一样,真的。尝试后,http
我得到了Redirecting to URL 'https://svn.....
相同的错误消息。我有点不明白这是什么意思,我发现 SVN 文档很难搜索,而且谷歌搜索也找不到任何结果。
我尝试删除我的配置以$HOME/.subversion
查看是否是问题的原因,但结果是一样的。
我的/etc/hosts
里面没有任何相关内容,我没有任何条目.netrc
(我认为那会相关?不确定)。我也可以通过以下方式获取服务器 IPv4/6host svn.OUR.DOMAIN
有人知道吗?我遗漏了哪些明显的地方,需要查找根本原因?
答案1
事实证明这是一个 IPv6 问题!
当我做的时候curl -vvvv https://svn.OUR.DOMAIN/.....
,我得到了
* connect to SOME_IPV6_ADDR port 443 failed: Connection refused
* Trying SOME_IPV4_ADDR...
* Connected to svn.OUR.DOMAIN (XXX.XXX.XXX.XXX) port 443
/etc/hosts
因此将 ipv4 地址放入
XXX.XX.XX.XXX svn.OUR.DOMAIN
问题已解决!