DNS 配置错误导致 discourse-setup 无法验证开放端口

您好,

我正在 DigitalOcean 上设置 Discourse,想请教如何更改 DigitalOcean 上的端口号。

我之所以询问,是因为我的域名端口号与 DigitalOcean 默认使用的不同。在控制台中,它显示无法通过 443 和 80 端口连接,但必须通过 587 端口连接。如有任何帮助,不胜感激。

谢谢

我认为这里对 Discourse 使用的端口存在一些误解。

80 和 443 分别用于 HTTP 和 HTTPS,这些端口无法更改。

587 用于 SMTP。虽然其他端口也可能用于 SMTP,但 587 是默认端口。

我不太确定我是否理解您的问题。

如果您想更改 Discourse 监听的端口,需要编辑 containers 目录下的 app.yml 文件。

在文件顶部附近有几行,其中一行写着类似 80:80 和 443:443 的内容。
冒号前的数字是 Docker 容器外部的端口,冒号后的数字是容器内部的端口。

例如,将其更改为 587:443。

然后在 /var/discourse 目录下执行:
./launcher rebuild app

不过在 DigitalOcean 上,您可以使用任意端口。我在那里有一台云服务器,使用 80 和 443 端口没有任何问题。

那么,在这种情况下,您如何在使用 Discourse 的同时将 SMTP 作为主要服务呢?

587 是安全 SMTP 的标准端口。

是否有某个服务无法与其正常工作?

抱歉,我指的是邮件服务。

最好由你来告诉我们问题是什么。

在 app.yml 中,你可以配置访问 Discourse 所使用的端口。

你还可以设置 SMTP 服务器、端口,以及用于从 Discourse 发送邮件的用户名和密码。

但为什么你想要更改端口呢?

还是说问题是邮件无法正常工作?

主要问题是我无法使用我的域名和 Digital Ocean 设置 MailJet。

image

在 MailJet 上,端口号与 Digital Ocean 使用的端口号不同。

587 端口并非 DigitalOcean 独有。

MailJet 支持 587 端口

这并非问题所在,请告诉我们您试图解决的具体问题。

我觉得您没有理解这个问题。我知道 MailJet 支持端口 587。问题在于,在 DigitalOcean 控制台中,显示尝试通过端口 443 和 80 连接网站时连接失败。这些端口号不同,这就是无法工作的原因。

好的,这意味着您的 DNS 地址无法解析到您的 Droplet。

这是您指定的 FQDN 的入站解析问题。您尚未在此处提供 DNS 名称,因此我们无法进行故障排查。

这与端口 587 或 Mailjet 无关。

好的,那你知道这个问题的解决办法吗?

您正在尝试使用的域名是什么?Droplet 的 IP 地址是多少?

我购买的域名是 globalaviators.ca,Droplet 的 IPv4 地址是 167.99.191.242。

globalaviators.ca 的 DNS 记录已设置为 162.255.119.241。您的 DNS 配置不正确。

你知道如何正确配置吗?

(如果有帮助的话,我是在 Namecheap 购买的域名)

  • 登录 Namecheap
  • 在左侧选择“域名列表”
  • 点击您域名右侧的“管理”按钮
  • 选择“高级 DNS”:

  • 如果您看到一行包含 @ 和“URL 重定向记录”,请将其删除。
  • 点击底部的“添加新记录”。
  • 在第一个“主机”输入框中输入 @
  • 在 IP 地址框中指定 167.99.191.242
  • 点击最右侧的勾选图标。完成的条目应如下所示:

  • 请等待最多 30 分钟,以便 DNS 更改生效后再重新测试。

好的,我会等 30 分钟,完成后再向您汇报::+1:

DNS 似乎已更新:

非权威应答:
名称:globalaviators.ca
地址:167.99.191.242

为确认起见,您是否遵循了 标准安装指南

这是个好消息!

是的,我正在按照这些说明操作。