无法重建 Discourse:GCP 上的 GitHub 连接错误和端口 443 问题

您好,Discourse 社区,

我在 Google Cloud Platform (GCP) 虚拟机(Ubuntu 22.04,16GB RAM,8 个 CPU 核心)上重建 Discourse 实例时遇到问题。重建因 GitHub 连接错误而失败,并且我还遇到了端口 443 可访问性问题。我已经尝试了几个步骤,但仍然卡住了,希望得到您的帮助。

重建期间的 GitHub 连接错误

运行 ./launcher rebuild app./discourse-setup 时,重建会因日志中的以下错误而失败:

fatal: unable to access ’ https://github.com/discourse/discourse.git/ ': Failed to connect to github.com port 443 after 3 ms: Couldn’t connect to server

Pups::ExecError: cd /var/www/discourse && sudo -H -E -u discourse bash -c ‘… git fetch …’ failed with return #<Process::Status: pid 145 exit 128>

但是,从主机测试 GitHub 连接正常:

curl -I https://github.com

HTTP/2 200

但在以 discourse 用户身份运行时失败:

sudo -u discourse -H git ls-remote https://github.com/discourse/discourse.git

fatal: unable to access ’ https://github.com/discourse/discourse.git/ ': Failed to connect to github.com port 443 after 3 ms: Couldn’t connect to server

github.com 的 DNS 解析正常:

sudo -u discourse -H nslookup github.com 8.8.8.8

Server:         8.8.8.8

Address:        8.8.8.8#53

Name:   github.com

Address: 192.30.255.113

您是否启用了防火墙?它可能是罪魁祸首。

那是在容器里面吗?与主机相比,Docker 可能应用了不同的防火墙规则。

我之前在 Google Cloud 上设置过几次自托管。但是,我上一次尝试,也就是一周前,没有成功。它一直给我 443 和 GitHub 数据路径错误,而且我无法重建。

它仅在 3 毫秒后就无法连接的事实意味着问题出在主机或非常接近主机的地方。

您在主机上做了哪些更改?您是否启动了防火墙?也许它正在覆盖 docker 所必需的转发规则。

从检查容器的 IP 连接性开始。

1 个赞