Elio
(Eliot)
2021 年7 月 24 日 02:10
1
嘿,我正在尝试基础的 Discourse/DigitalOcean 指南:discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
我花了十几个小时折腾端口问题,终于让它跑起来了。接着又搞懂了邮件系统、SMTP、DNS、SSH 以及太多其他东西。最终它确实能用了,但是……
然后我(愚蠢地)决定既然已经搞懂了所有东西,不如从一个新的 Droplet 重新开始。(我真棒)结果又愚蠢地把那个 Droplet 删掉了。现在我试着重新创建,却不断遇到这个错误。
我的问题是:从一个新的 DigitalOcean Droplet 开始(在配置邮件服务器之前)。无论是:
(a) 按照指南操作:discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup
还是
(b) 在 DigitalOcean 镜像市场中选择 Discourse 镜像创建新 Droplet,然后通过 SSH 连接到该 Droplet,它会自动开始运行设置程序。
在我输入子域名到提示 Hostname for your Discourse? [discourse.example.com]: 之后,立即出现:
WARNING: Port 443 of computer does not appear to be accessible using hostname: forum.example.com
WARNING: Connection to http://forum.example.com (port 80) also fails.
我并没有对我的 Droplet 做任何操作,它还是原始设置。我觉得基础设置本身有问题。也许自该指南编写以来,DigitalOcean 那边有什么变化?
我看到其他帖子提到了 Cloudflare,但据我所知我并没有使用任何 Cloudflare 服务。
我也看到有帖子提到使用 ufw 来开放端口。我的第一个 Droplet 我确实这么做了,最终在开放了所有我能找到的建议端口(22、80、8080、8000、2222、443 等)后才让它工作起来。但无论如何,我认为指南需要更新以反映开放端口的必要性。而且(就之前的 Droplet 而言)可能还需要类似 apache2 这样的服务来监听端口?不过我已经对着各种错误信息盯得太久,找不到当时的解决方案了。
我想知道你是否清楚哪些端口需要开放、哪些不需要,并且能否帮我解决当前问题,同时建议对基础指南进行修正?
谢谢!
Elio
(Eliot)
2021 年7 月 24 日 02:33
2
我让(市场镜像 droplet)使用 ufw 运行了设置,并开放了多个端口,其中一些我怀疑是重复的……
这篇指南很有帮助:
我认为我执行了以下操作:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22
sudo ufw allow 2222
sudo ufw enable
sudo ufw allow http
sudo ufw allow 80
sudo ufw allow https
sudo ufw allow 443
当我运行 ufw status 时,得到:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
5000/tcp ALLOW Anywhere
50010 ALLOW Anywhere
2222 ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
5000/tcp (v6) ALLOW Anywhere (v6)
50010 (v6) ALLOW Anywhere (v6)
2222 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
pfaffman
(Jay Pfaffman)
2021 年7 月 24 日 03:26
5
您可能尚未创建指向新 Droplet 的 DNS A 记录。
1 个赞
Elio
(Eliot)
2021 年7 月 26 日 11:04
6
警告:计算机的 443 端口似乎无法通过主机名 forum.example.com 访问
警告:连接到 http://forum.example.com(端口 80)也失败。
@OverseersMight1 这就是上面显示的错误信息,设置流程在此之后未能继续。
@pfaffman 我确实有一条 DNS 记录。这可能(对其他用户有参考价值)是因为 TTL 设置得过高,导致更改未生效。我将 TTL 设置为最小值(600),我怀疑这可能有所帮助。
指南中写道:“* 您的 DNS 设置应可从您购买域名的地方访问。请在您的 DNS 控制面板中为 discourse.example.com 主机名创建一条 DNS A 记录 ,指向您安装 Discourse 的云实例的 IP 地址。”
我已经这样做了。
pfaffman
(Jay Pfaffman)
2021 年7 月 26 日 12:14
7
Elio:
我确实那样做了。
可能不是,或者正如你所建议的,这是一个传播问题。如果不了解你的主机名和 Droplet 的 IP 地址,我们无法进行检查。