我只能从远程网络连接到我的 GitLab 服务器

I can only connect to my GitLab server from a remote network

昨天上班,我一整天都在愉快地使用我全新的 GitLab 服务器(它在我家)。推、拉和合并都工作得很好。当我回到家时,我想修改一个个人项目,但是当我试图从我的服务器中提取 repo 时,我收到了这条消息:

fatal: unable to access 'http://git.ghostlyco.de/revxx14/new-site.git/': Failed connect to git.ghostlyco.de:80; No error

我以为"Hmm, that's odd. I've been connecting just fine all day."于是又试了几次,还是一样的错误。我尝试使用 IP 地址而不是域,同样的处理。本地 IP 地址,完全一样。我在电脑上用另一个账户试了一下,也出现了同样的错误。我在另一台完全不同的计算机上试过,得到了同样的错误。我尝试从有线互联网切换到无线,同样的交易。我尝试重新启动我的机器,是的,同样的问题。我试过重启服务器,没有用。

我沮丧地去睡觉了,我不知道会发生什么。我可以在我的浏览器中很好地打开网站,这增加了混乱。

今天早上醒来时,我想到了最后一个可以尝试的想法:一种完全不同的连接方式。我认为这是我下班时唯一的其他区别。所以我在我的 phone 上设置了网络共享,提取了 repo,然后......成功了!

很明显,如果我在同一个网络上,我就无法连接到我的 GitLab 服务器。这让我大吃一惊。我完全理解为什么如果我没有正确设置端口转发但在本地网络中我将无法远程连接?这毫无意义。

我不是网络或命令行专家,所以我不知道从哪里开始研究这个。任何帮助将不胜感激。

仅供参考,我在 Ubuntu 12.04 LTS x86 服务器上 运行 GitLab,如果这有影响的话。


编辑:显然本地 IP 现在可以使用了。我想这很好?这太奇怪了。不知道为什么它无法连接到 IP address/domain.

感谢 Doon 帮助我了解正在发生的事情。听起来我的路由器无法退出网络,引用自身并重新进入网络。我可能误解了,但是嘿,它给了我一个主意。

为了解决这个问题,我简单地修改了 Windows 中的 HOSTS 文件,以便该站点的域名仅引用本地 IP。

就是这么简单:

192.168.1.155 git.ghostlyco.de

然后我尝试提取一个回购协议,它成功了!完美的简单解决方案。我只需要记住这一点,以防我设置任何新机器。