从局域网外的计算机连接到 SVN 服务器

从局域网外的计算机连接到 SVN 服务器

我有一台 Fedora 服务器,在端口 3690 上运行 Subversion 和 svnserve。我的仓库位于 /var/svn/project_name。我的路由器将端口 3690 转发到本地服务器(以及端口 80、21、22 和其他几个端口)。当我本地连接到 svn://192.168.0.2/project_name 时,它​​运行良好。当我从外部服务器连接到 svn://my.static.ip/project_name 时,我连接到主机时会超时。但是,如果我http://my.static.ip没有问题,所以端口转发正在工作(至少对于端口 80)。

我不想通过 HTTP/s 运行 WebDAV 或 svn。我希望它使用 svnserve 工作,如svn 书。我配置错误了什么?

编辑以下是我的 iptables 转储的最后一部分。我不是专家,但对我来说它看起来还不错:

ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:svn
ACCEPT     udp  --  anywhere             anywhere            state NEW udp dpt:svn
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpts:6680:6699
ACCEPT     udp  --  anywhere             anywhere            state NEW udp dpts:6680:6699
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

编辑2由于。。。导致的结果sudo netstat -tulpn

tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      1455/svnserve

答案1

在这种情况下,是服务器本身(服务提供商:Bluehost.com)阻止了他们那边的 3690 端口。解决方案是要么额外支付 $$ 设置静态 IP,然后他们可以打开该端口,要么简单地使用 svn+ssh 进行访问,因为 SSH 端口 22 已经打开。

希望这至少对在共享托管环境中遇到此类问题的其他任何人都有用。

相关内容