远程访问SVN服务器


1

所以我在这里投入了数天的努力。我在我的机器上运行SVN Apache Edge在Apache之上。我想从远程机器访问它(签出/签入)。我的机器在普通路由器后面并且具有动态IP。这就是我取得的成就:

  1. 使用DDNS服务注册我的机器并获得了一个URL。
  2. 在路由器上启用端口转发(端口8085转发到我的机器的端口80)。
  3. 我很确定SVN / Apache正在侦听端口80,因为我可以http://localhost在浏览器中输入(在我的机器上)并获得一个repo目录列表。
  4. 但是当我http://My_DDNS_URL:8085在远程机器上打字时,几乎永远等待机器的响应并最终超时(我认为)。
  5. 我可以从远程计算机ping我的动态IP地址以及我的URL(由DDNS服务分配)。

我在这做错了什么?


端口8085是否通过路由器转发到目标服务器?
Ƭᴇcʜιᴇ0072013年

你有没有理由使用SVN?Mercurial,Git等是很好的软件,无论是使用免费托管服务还是自己运行服务器,都可以更轻松地共享更改。
syserr0r 2013年

我已经和SVN合作了很长一段时间了。切换到另一个版本控制系统可能涉及一些学习曲线,我想在我的运行项目的时间表中避免这一点。
dotNET 2013年

Answers:


1

问题可能出在几个地方之一。最有可能的三个是:

  • Apache 在localhost上侦听(而不是说,192.168.1.x或者0.0.0.0
  • 端口转发未正常工作/设置(例如,端口8085已转发到192.168.1.12您的PC 192.168.1.14自上次重新启动以来已更改为)
  • 您的调制解调器/路由器没有进行NAT环回(通常如果您想从您连接的网络内部访问您的服务http://192.168.1.x,如果您在外面使用http://1.2.3.4- NAT环回将来自网络内部的请求重定向回其外部地址其内部地址[例如1.2.3.4转入192.168.1.x](因此外部地址仍在内部工作)。

谢谢。我还发现我可以http://My_DDNS_URL从远程计算机上做 (没有端口号),这会将我带到路由器的主页(我可以通过在本地计算机上键入192.168.1.1来访问该页面)。这有助于消除上述任何可能性吗?
dotNET 2013年

听起来好像路由器上没有NAT环回功能(或者它没有启用)。据我所知,这并不常见。最简单的检查方法是让网络外的人连接 - 如果他们可以(你不能)那么它就是NAT环回问题。NAT环回更是一种便利功能; 当你进入网络时,你真的应该连接到localhost(或你的计算机拥有的任何IP /主机名)。
syserr0r 2013年

作为一个非常基本的测试,如果您无法访问外部网络上的服务器或计算机,您可以使用ShieldsUP之类的东西,输入外部端口号(即8085)并单击User Specified Custom Port Probe。它不会告诉你什么是聆听(即Apache),但它会告诉你外面的人是否可以连接
syserr0r 2013年

ShieldsUP!告诉我,我的端口8085的状态是OPEN与未知的协议/应用程序。这有什么用?
dotNET 2013年

我还通过阅读Apache服务器的conf文件确认它正在所有接口上的端口80上进行监听(通过将其与上面提供的doc链接进行比较)。所以#1不是问题所在。
dotNET 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.