如何远程访问Subversion服务器

3
我昨天在家里的电脑上安装了VisualSVN服务器,我可以在本地主机上访问我的仓库,但是当我尝试远程访问时,它无法连接。我应该配置其他内容还是不可能?我在浏览器中使用https://servername/svn作为URL,而家用电脑在路由器后面。这只是个人使用。谢谢。
3个回答

5

你确定在家外也能解析servername的名称吗?要实现远程访问,你至少需要:

  • 服务器的公共IP地址,任何RFC1918地址,如192.168.X.X,都无法从外部访问。
  • 名称解析;可以通过官方注册的DNS名称或主机文件来实现。
  • 如果路由器中有防火墙,则必须允许https(TCP/443)流量通过。
  • 如果您的服务器位于私有网络上,并且您想通过路由器的官方IP访问它,则需要进行端口转发。

哦,我知道这不会很容易。我对这样的东西不太熟悉。为了设置一个Subversion服务器,我还有什么其他选择?我应该只是寻找一个免费的主机之类的吗?这只是为个人使用。 - George Mic
注册现有服务通常比设置自己的服务器更容易... - Anders Abel
@George,如果你的项目是开源的,那么我建议考虑使用Google Code Projects。你可以获得一个已经设置好的良好SVN代码库。当然,你的代码必须全部都是开源的(因为任何人都可以查看它)。 - Earlz
@George:你也可以注册动态DNS服务之一,每当你的家庭机器在线时,就会有一个DNS条目指向它。然后你所需要做的就是配置路由器让https流量通过。或者,可以查看http://stackoverflow.com/questions/2058076/和http://stackoverflow.com/questions/111292/以获取SCM服务的信息。 - sbi

2

你的路由器可能默认不允许端口443(SSL)的流量通过。你可能需要设置规则来允许这种情况发生。许多路由器称之为设置DMZ或类似的东西。基本思想是允许该端口上的流量进入受保护网络内的一个特定计算机。


这是指端口转发443端口吗? - George Mic
这是它另一个常用的术语,没错。 - palehorse

1

远程是什么意思?是指在同一局域网上还是指跨越互联网。

首先,请确保家庭计算机的防火墙没有阻止对Subversion的外部访问。

如果在同一局域网上仍然存在问题,则我不知道该怎么办。

对于广域网,您有三个选项:

  1. 配置路由器将DMZ设置为您的家庭计算机(转发所有端口,最不安全的选项)
  2. 配置路由器进行端口转发,以允许外部访问您的家庭计算机
  3. 配置IPSec或其他VPN类型技术。(超出我的专业领域)

一旦您已经将端口转发或其他配置完成,那么您如何访问您的家庭电脑呢?您不能在互联网上使用192.168.*。您必须获取您的公共IP地址并使用它进行连接(我建议使用http://ipchicken.com)。如果您的公共IP地址是动态的,那么您需要获取一个动态IP地址服务,例如http://no-ip.com,以便您可以获得一个免费的域名,该域名将始终指向您的家庭电脑,然后您只需使用该域名而不是使用您的家庭IP地址,它将始终正常工作。


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