Discourse 设置因疑似网站劫持而中止

您好,我正在 Digital Ocean 的 Droplet 上配置 Discourse。

我成功完成了一键安装步骤(至少没有报错),但在脚本运行结束后,我输入新安装地址(www.nzarchitecture.net.nz)以继续设置时,看到的不是任何与 Discourse 相关的内容,而是这张图片

D:\Jobs\Screen Captures\Screenpresso\2020-01-04_06h49_44.jpg。

不过,刷新浏览器后,我甚至无法再连接到该网址,浏览器返回了“err timed out”(错误:超时)的响应。

这是否意味着安装过程中有某些内容被劫持了?Discourse 的安装文件本身是否可能被篡改?还是说有别的什么东西在注入恶意代码?

这是一个已知问题吗?……我该怎么办?销毁 Droplet 并重新开始?但如果这样做,如何防止同样的问题再次发生?

1 个赞

很抱歉,我们无法协助您处理 Digital Ocean 的一键安装问题。我们仅支持官方安装指南:discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

5 个赞

你好,Gerhard

我基本上是按照那份指南操作的

“一键”部分,我理解只是创建了云服务器,其中已预装了 Ubuntu 和 Discourse 的安装文件?(相当于指南中的第一步,并且在我通过 PuTTY 连接到服务器后,./discourse-setup 会自动启动)

之后的每一步我都严格遵循了指南,所有先决条件也都符合指南要求。

我是否应该销毁当前的 Droplet,重新创建一个仅包含 Ubuntu 的新实例,然后从头开始按照指南重新操作?

1 个赞

是的,这正是你该做的。即使你得到了一个能正常运行的实例,它也不受支持,因为没人知道 DigitalOcean 的安装脚本更新到了什么程度。

有没有可能是该域名解析到了不同的 IP 地址?

7 个赞

你好,谢谢,Tobias

我按照建议进行了操作——然而,在完成推荐步骤(看似成功)后,当我访问我的 Discourse 站点时,仍然只是出现浏览器超时(任何浏览器都如此):
www.nzarchitecture.net.nz

我已确认我的域名注册商将该域名指向了 Digital Ocean 的 DNS 服务器,因此该 URL 理应已解析到正确的地址?

我在 Digital Ocean 的 DNS 设置中发现了一条错误的 A 记录,它仍指向之前已销毁的 droplet 的 IP 地址(我在重新开始之前已将其销毁)——但即使修正了这一点,并通过 https://ipinfo.info/html/ip_checker.php 确认该 URL 现已关联到正确的 IP 地址,我仍然只看到超时。

还可能是什么问题呢?

我之前检查了几次,该域名显示无效,但现在已正确显示。不过,该网站仍无法访问。

搜索它时,找到的是我推测为旧论坛的记录。

是的,该域名目前指向 165.22.107.139,该地址无法响应 ping 请求,看起来那里没有活跃的服务器。

与之关联的另一个 IP 地址(在某些节点上)是 167.172.115.196,该地址确实有活跃服务器,但并未提供网页服务。

1 个赞

你好,谢谢 Robert。

我可以确认 ping 对我来说也无法使用。
我刚刚在 Windows 命令提示符窗口中对我的域名执行了 Tracert,结果在我这里(新西兰)和位于新加坡的 DigitalOcean 服务器(地理上最近的服务器)之间出现了问题。这是否是导致问题的原因?如果是,我该如何处理?

由于新用户最多只能发布 2 个链接的限制,我无法将 Tracert 结果粘贴到本帖中(Tracert 结果中包含大量链接)。

看起来您已经将 DNS A 记录移动到了 165.22.107.139。

但是,该地址没有活动的机器。因此,您首先需要检查您的 Droplet 是否与该 IP 地址关联,并且处于活动状态。

你好,Robert —— 是的,我确实做了那个更改。我认为之前的 IP 地址与我创建并随后销毁的第一个 droplet 有关,以便重新开始。

据我所知,那里有一台正在运行的机器(至少仪表板显示它已开启,并且在设置过程中至少有一些 CPU 和网络活动的迹象),不过作为一个完全的新手,我可能遗漏了一些关键问题……设置过程中的某个环节是否可能导致服务器被关闭?

D:\Jobs\Screen Captures\Screenpresso\2020-01-04_14h44_00.jpg

这可能会产生误导。建议联系 DigitalOcean 支持团队,情况肯定有问题。

点击“控制台”后会发生什么?

当我按下控制台键时,控制台窗口打开并提示我登录。
我可以成功以 root 身份登录,并显示一些基本统计信息。
我看到 ‘eth0:’ 有一个地址,‘docker0:’ 有另一个地址——我推测应该使用第一个地址来设置我的 A 记录?


我已经在 DigitalOcean (DO) 提交了一个支持工单(实际上是在几个小时前),但至今尚未收到回复。不确定他们对像我这样的小规模用户能提供多少支持?(尤其是如果我没有最终使用他们的一键安装工具)?

好的,这肯定是个网络问题。该 IP 地址可能不是“公网”地址。请联系 DigitalOcean 支持团队确认。

好的,谢谢您的帮助

好的,工单仍无回复。但为了其他遇到此问题的人,我在此期间尝试了以下操作:先创建镜像备份,销毁 Droplet,等待片刻后恢复 Droplet,从而获得一个新的 IP 地址。

随后,我更新了 DigitalOcean DNS 中的 A 记录以匹配该新 IP。

我可以 ping 通这个新 IP 地址,但访问网址 www.nzarchitecture.net.nz 时仍然出现超时。

然而,如果直接输入 nzarchitecture.net.nz(不带 www),我确实看到了网页,但不知为何它提示我通过 SSH 连接来设置“LAMP”环境。

理论上,这两个网址应指向同一位置,因为其中一个已通过 CNAME 记录设置为另一个的别名,这本身就很奇怪。

我继续通过 PuTTY 连接到新 IP 地址,输入了cd /var/discourse,然后输入了 ./discourse-setup。很明显,镜像中的所有文件和设置都依然存在。

不过,我还是重新执行了设置过程,希望能刷新某些内容……结果似乎成功了!现在访问 Discourse 网页时,会提示我注册一个新账户。

1 个赞

哎呀!

如果这是在推广设置 LAMP 环境,那么您部署该 Droplet 时选择的操作系统可能存在严重问题。

请重新安装上述 Droplet,选择 Ubuntu 18.04,不要使用应用市场或一键应用功能。只需选择 Ubuntu 18.04,让其自动完成配置。完成后,按照说明继续进行 Discourse 的安装。

7 个赞

谢谢 Bhanu——我做的差不多就是这样,看起来确实奏效了。

6 个赞