所以我正在尝试在我的 Ubuntu 机器上安装 DC(我们就这么称呼它),但当我输入我的网站域名时,系统提示:
警告:计算机的 443 端口似乎无法通过主机名 discoursedemo.tk 访问。
警告:连接到 http://discoursedemo.tk(端口 80)也失败。
这表明 discoursedemo.tk 解析到了某个无法访问您正在安装 Discourse 的这台机器的 IP 地址。
首先要做的是确认 discoursedemo.tk 已解析到这台服务器的 IP 地址。
您通常可以在购买域名的同一位置进行此操作。
我使用 CloudFlare 处理 DNS 相关事务,使用 FreeNom 注册域名。以下是我 DNS 列表中的截图:
我是不是哪里做错了?我想把服务托管在我的机器上,而不是像 某Ocean 这样的服务器上(我忘了具体叫什么)。
正如我所说的,我希望将其托管在我的机器上,而不是任何像 某Ocean 这样的服务器上(再次记不清了,哈哈)之类的(这样我就不需要付费了)。
附注:我使用 GitHub 登录,所以我的头像和名字是那样的,哈哈。
pfaffman
(Jay Pfaffman)
2
问题正如所述。如果这是您的家用电脑,很可能是防火墙问题。您需要确保传入到端口 80 和 443 的连接能够到达您的电脑。
那我该怎么阻止防火墙干扰?Ubuntu 不是没有防火墙吗?我会去查一下。
ping discoursedemo.tk
ping: discoursedemo.tk: 主机名未关联任何地址
等等,为什么会这样?
downey
(Michael Downey)
10
您需要在 DNS 中设置一条 A 记录,将 discoursedemo.tk 解析到您的服务器 IP 地址。
pfaffman
(Jay Pfaffman)
11
在您发布的图片中,您为 discoursedemo.tk 创建了一个 CNAME 记录。您需要创建一个指向您机器公网 IP 的 A 记录。建议您使用某个子域名,例如 www。
StupidRepo
(Bradlee Barnes)
12
所以,比如我从一个公共 IP 查询网站获取我的公网 IP 吗?
StupidRepo
(Bradlee Barnes)
13
@pfaffman @downey,所以我做了以下操作:
仍然没有奏效。我肯定是哪里搞错了,但问题是,我到底哪里搞错了?
downey
(Michael Downey)
14
仅供参考,www.discoursedemo.tk 现已从我使用的 DNS 服务商解析到目标 IP 地址。我也能成功 ping 通该主机,说明互联网可以访问到它。
但我无法通过 443 端口或 80 端口访问它,这可能意味着您的主机上尚未有 Web 服务器在这些端口上监听,也可能是防火墙阻止了连接。
StupidRepo
(Bradlee Barnes)
16
好的,我刚注意到它有个防火墙,但不知道如何修改它以让这些端口正常工作,也无法关闭它……
等等,哦不,我已达回复上限了。
编辑:等等,我刚发现,我该如何更改 Discourse 监听的端口?如果你在 CloudFlare 上有免费账户,80 和 422 端口会被阻止,哈哈。
编辑 2:所以我无法重建应用。系统提示需要确保某个守护进程已启动。
编辑 3:所以我卡在“正在检查您的域名 . . .”这一步了,哦不。
再说一次,如我之前所说,我已达回复上限……安息吧。
另外,我更改了端口,但它还是自行重建了,所以……
downey
(Michael Downey)
17
很遗憾,我对 CloudFlare 及其服务一无所知,也不清楚哪些计划会限制哪些功能。建议您尝试查阅 CloudFlare 的官方支持网站或论坛,以获取配置方面的帮助。
此外,我从未在非标准端口上安装过 Discourse,因此无法就此为您提供帮助;可能有一些人有过相关经验,但通常大多数网站都运行在 80 端口(HTTP)或 443 端口(HTTPS)上。
是的,内部运行端口其实无所谓,但为了能让浏览器与之通信,你肯定需要将其在 80 端口暴露出来,最好也开放 443 端口以面向外部世界。