自托管 Gitlab 服务器无法访问

Posted

技术标签:

【中文标题】自托管 Gitlab 服务器无法访问【英文标题】:Self-hosted Gitlab Server Not Accessible 【发布时间】:2019-08-04 09:14:44 【问题描述】:

我在 osx (10.11) 服务器上运行的 gitlab 实例遇到了一些重大问题。这是从源代码构建的自托管 gitlab-ce。直到上周我尝试从 8.5 版升级到 8.6 版时,它都运行良好。在一些构建问题之后,我最终回滚到 8.5,但配置中的某些内容在此过程中被破坏了。

目前,如果我在 osx 服务器上运行的浏览器中打开它,如果我明确包含 nginx 端口,我可以访问我的 gitlab 站点。如果我尝试从远程浏览器访问它,无论是否有明确的端口,我都会收到“无法访问此站点”错误。我已经尝试了我能想到的一切以恢复正常工作,但似乎没有任何帮助。有很多潜在的配置文件和选项,我什至不知道在哪里看。

任何帮助将不胜感激。

更新: 通过一些额外的试验和错误,我能够在本地访问我的 gitlab 而无需指定端口。然而不幸的是,远程访问仍然被顽固地破坏了。我真正需要的是一个在 osx 上为 gitlab 工作的 NGINX 配置示例。

更新 2.0 远程访问问题原来是防火墙问题。解决这个问题给我带来了完整的循环。我可以通过指定端口访问 gitlab,但我不知道如何设置代理以使用默认 Web 端口(80)。我知道绑定到该端口需要 root 访问权限,但即使我使用 sudo,我也会收到“权限被拒绝”错误。

更新第三个 正如建议的那样,我在这里发布了另一个问题:https://serverfault.com/questions/960051/nginx-unable-to-bind-to-port-80-in-osx-server,因为我的问题已经超出了原始问题的范围。

【问题讨论】:

我猜您的 Update 2.0 值得提出自己的问题,但无论如何,要设置 nginx 代理,请阅读此文档,它应该会有所帮助并为您提供基本概念docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy 否则我建议您打开一个新问题,如何使用 nginx 代理绕过占用的默认端口,因为这个问题已经得到解答,您现在可以使用非默认端口访问您的自托管 gitlab 【参考方案1】:

Gitlab 有一个将所有这些都托管在 docker 上的指南。

如果您想尝试 docker 示例,可以在 here 找到指南

【讨论】:

不幸的是,我很确定这台服务器没有足够的资源让我运行像 Docker 这样的虚拟环境。 啊,好吧,如果您仍然需要帮助,可能值得添加您的 nginx 文件,以便我们查看 这已在 3 月 14 日 11:28 讨论过,他已经给出了同样的答案。请参阅我对他的问题的回答【参考方案2】:

如果您没有在默认端口(例如 http 为 80 和 https 为 443)上运行,您只需包含 nginx 端口

因此您可能想要更改配置文件并将其设置为默认端口,然后运行

gitlab-ctl 重启

让它生效

干杯

【讨论】:

谢谢,但由于其他应用程序正在运行,我无法使用端口 80 然后根据您的网络服务器尝试使用虚拟主机作为代理,我在生产中使用此设置并且效果很好。无论如何,您可以标记为您问题的答案吗?谢谢 不幸的是,即使我可以用虚拟主机解决端口问题,也只能解决一半的问题,而另一半则不太重要。更大的问题是 gitlab 无法远程访问。 好吧,这在你的问题中不清楚>>目前,如果我在 osx 服务器上运行的浏览器中打开它并且只有当我明确包含 nginx 端口时,我可以访问我的 gitlab 站点。如果我遗漏了端口号,或者我尝试从远程浏览器访问它,我会收到“无法访问此站点”错误。 啊,顺便说一句,如果你拥有完全的服务器控制权,你可以使用 docker 和官方的 gitlab-ce docker 镜像;)我将它用于我自己的目的,而且它非常简单

以上是关于自托管 Gitlab 服务器无法访问的主要内容,如果未能解决你的问题,请参考以下文章

通过UserNotification自定义操作访问时,CoreData无法初始化托管对象

vue2启动成功了,但是无法访问

GitLab(自托管)和 GitKraken

接收失败:连接已重置 git

Azure 功能无法访问托管在内部 windows 服务器中的 WCF 服务

自托管WebApi可通过LAN访问