SVN无法连接到主机。

5
我们在远程主机服务器上设置了一个SVN仓库。我们有一台全新的开发服务器,最终我将在那里设置我们的仓库,但现在我正在尝试从SVN将项目导出到开发服务器。当我尝试这样做时,我收到svn:无法连接到主机“website.com”:连接超时的错误提示。
我可以从任何其他服务器正常连接,因此我认为这可能是开发服务器上的某些设置阻止了连接,但我不确定是哪个设置阻止了连接。我可以ping该服务器,结果也正常,我想可能是由于它是本地网络服务器,可能有一些东西阻止了访问外部网络。
我只是想寻找一些可能性。

无论如何,您是否检查了SVN监听的端口(默认为3690)在路由器/防火墙上是否被阻止? - pakore
SVN服务器或网关服务器上的防火墙。 - Michal M
请确保SVN服务器没有被限制在您现有的机器IP范围内。 - Rup
你是否已经在它上面安装和配置了svn?如果没有,你是否确认设置它的人使用了svnserve守护进程?还是他们使用了需要http协议而不是svn的webDAV进行设置? - Amardeep AC9MF
@dan.codes:是的,抱歉,我指的是开发服务器。同时,请确认当您通过名称ping它时,是否会得到正确的IP地址。如果您的DNS未解析该名称,则将解析为某个“停车”机器,该机器可以正常ping但无法在3690上响应。 - Amardeep AC9MF
显示剩余2条评论
5个回答

8
我只是通过以下命令来解决它: 启动svn服务时,将"--listen-host 0.0.0.0"部分添加到您的命令中,例如:
svnserve -d --listen-port 9803 --listen-host 0.0.0.0 -r /somewhere/somewhere 这是因为除非明确说明,否则svnserve将侦听支持IPv6协议的IPv6连接,这在Windows Vista、7和Server 2008以及FreeBSD上是正确的。
我的服务器使用FreeBSD操作系统,今天早上遇到了这个问题,现在已经解决了。
您可以参考此页面:further info

4
非常感谢Kaldr回答这个老问题。我曾经遇到了这个问题,通过谷歌找到了这个问题,而你的建议解决了我的问题。 - andrew cooke
1
@Bob,不完全正确,因为人们会通过谷歌(就像我一样)来到这里并寻求解决方案。在互联网上时间并不重要。 - Jorjon
1
@Veehmot - 从更长远的角度来看,您是完全正确的。评论已撤回。 - Bob Kaufman

2

这可能看起来很基础,但请确保您正在使用与服务器设置相匹配的协议进行连接(svn://用于svn,http://用于http,ssh+svn://用于ssh上的svn),并仔细检查防火墙设置。

如果您使用SVN协议进行连接(新设置的默认值),则SVN使用端口3690,HTTP协议使用端口80(显然),SSH协议使用端口22(同样显然)。


抱歉,3980是打错了,正确的应该是3690——因为猫跳到了我的键盘上 :) - Nate Pinchot

2

如果可以通过telnet命令连接到IP地址和端口,请确保:

  1. 将监听主机设置为0.0.0.0;
  2. 使用URL svn://domain:port/ 连接服务器。

1
在我的情况下,这几天的问题是我使用的是“svn 1.7.x”,当我尝试使用命令行时,这个版本会抛出这个错误。
我只是尝试了“svn 1.8.x”,一切都很好,我终于可以通过命令行进行交互而没有问题。
如果其他人遇到这个问题,也许这可以帮助他们。
问候,
附言:我在Linux Centos 6.5上。

0
> sudo dnf install cyrus-sasl-md5

我曾经遇到过同样的问题。对我来说,我需要安装cyrus-sasl-md5软件包。

如果没有这个软件包,svn就无法请求或存储密码,因此它无法找到服务器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接