Wall-E
(Raphael)
1
你好,
我使用 GCP 计算引擎创建了一台虚拟机。我的域名是 solarnauts.net(来自 Namecheap)。
我创建了一条 DNS A 记录,主机名为子域名 discourse.solarnauts.net,值为我的虚拟机的外部 IP 地址。
当我运行 ./discourse-setup 时,我收到了关于端口 80 和 443 的警告(见下文)。
尽管我已在虚拟机上添加了防火墙规则以开放这两个端口,但我仍然收到此错误。您有什么建议?
谢谢
正在检查您的域名... 警告:无法通过主机名 discourse.solarnauts.net 访问计算机的端口 443。警告:连接到 [http://discourse.solarnauts.net](http://discourse.solarnauts.net/)(端口 80)也失败。这表明 discourse.solarnauts.net 解析到了某个无法访问您正在安装 Discourse 的这台机器的 IP 地址。首先要做的是确认 discourse.solarnauts.net 是否解析到了此服务器的 IP 地址。您通常可以在购买域名的同一位置进行此操作。如果您确定 IP 地址解析正确,则可能是防火墙问题。您可以搜索“开放端口 您的云服务”以获取帮助。
尝试在您的 GCP 上运行
netstat -alpn | grep 80
以检查端口 80 上是否已有 Web 服务器在运行。
Wall-E
(Raphael)
6
这通常需要多长时间?我两天前购买了域名,昨天添加了 A 记录。有什么方法可以确认它是否已传播?
例如,我尝试了以下操作:
$ nslookup solarnauts.net
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: solarnauts.net
Address: 192.64.119.14
$ nslookup discourse.solarnauts.net
Server: 8.8.8.8
Address: 8.8.8.8#53
** server can't find discourse.solarnauts.net: NXDOMAIN
出于某种原因,您的 DNS 记录可能未正确创建。我仍在您的域名 solarnauts.net 上看到 Namecheap 的停车 DNS 记录,除此之外没有任何其他记录。
Wall-E
(Raphael)
8
我在 GCP 引擎中创建了一条防火墙规则,开放了两个端口,但我了解到容器优化操作系统(Container-Optimized OS)本身可能存在与 Docker 相关的更具体的问题。
通过一些在线工具,例如:
whatsmydns.net
dnschecker.org
Wall-E
(Raphael)
11
我试过用 nslookup(参见我之前对 @Benjamin_D 的回复),它是否执行了相同的检查?
nslookup 是在您本地系统上进行的检查,它可能受到多种因素的影响,包括您系统和路由器的 DNS 缓存以及您的 ISP 的 DNS 解析器。因此,我转而使用第三方服务,该服务通过多个 PoP(接入点)进行检查,以确认 DNS 记录是否存在及其返回的值。
Wall-E
(Raphael)
13
好的,这意味着目前问题与防火墙无关,我应该去查看我在 Namecheap 上创建的 A 记录?也许只是需要再等一会儿?我是在不到 24 小时前创建的。通常需要等待更长时间吗?
新创建的 DNS 记录通常在 10 分钟左右开始解析。较慢的解析器可能需要 2 到 6 小时,最坏情况下,最多不应超过 48 小时。我此前没有使用 Namecheap 的经验,因此无法对其具体情况做出评价,但大多数注册商的 DNS 传播服务通常都能较快地开始解析。
您设置中一个令人奇怪且可疑的地方是,似乎没有任何地方的 DNS 记录发生变化,因此可能是您的记录未能正确创建。
Wall-E
(Raphael)
15
@itsbhanusharma 你说得太对了。
在 Namecheap 上,我在“主机”字段中输入了完整地址 ‘discourse.solarnauts.net’,而不是只输入 ‘discourse’。
因此,我使用你的 DNS 检查工具测试了:
‘discourse.solarnauts.net.solarnauts.net’,该记录已完全生效。
所以我想我只需要将“主机”字段改为 ‘discourse’ 吗?…