配置您的托管 Discourse 站点以在根域名或顶级域名(例如 example.com)上运行

大多数托管的 Discourse 实例位于子域名上:

forum.example.com
talk.example.com
www.example.com

这是我们在几乎所有情况下的一般建议,并且效果很好。但是,如果您希望将根域名或 顶级域名 (apex domain) 用于您的托管 Discourse,如下所示:

example.com

在托管场景中,这出奇地困难,原因在于 DNS 工作方式的怪癖。:thinking:

这是可能的,但是,必须 使用明确支持此功能的 DNS 提供商!

DNS 提供商文档

以下是已知兼容的 DNS 提供商列表、您应该使用的 DNS 类型名称以及指向其文档的链接。

提供商 类型
AWS Route53 \u003csmall\u003e(仅限 AWS[1])\u003c/small\u003e A 和 AAAA ALIAS 记录;点击查看示例 → ![image
CloudFlare CNAME 展平 · Cloudflare DNS 文档
DNSimple ALIAS
DNS Made Easy ANAME
DreamHost ALIAS
easyDNS ANAME
Gandi ALIAS
Hurricane Electric ALIAS
Name ANAME
Namecheap ALIAS
Webcentral \u003csmall\u003e(前身为 Netregistry)\u003c/small\u003e Cloaked Redirection (仅限 IPv4)
PointDNS ALIAS

如果您的 DNS 提供商不在以上列表中,您必须切换到这些 DNS 提供商之一才能实现托管 Discourse 的顶级域名或根域名。

:exclamation: 如果您尝试/测试了另一个 DNS 提供商并且对您有效,请在此处回复提供商的名称以及解释如何设置的链接,以便我们更新列表。DNS 提供商数量众多,因此我们会根据发现的情况更新此列表,此列表绝非支持此功能的全球所有 DNS 提供商的详尽列表。


  1. 仅当您在 AWS 中自托管或使用我们的 AWS 企业托管服务时才有效 ↩︎

36 个赞

帖子已拆分为新主题:必需的 DNS 设置

花了点时间才弄明白,但我成功地让我的 apex 域名与 Azure 配合使用,我们在那里托管 DNS。

要使用 Azure,您需要利用 Azure Front Door。这些说明适用于 Azure Front Door Standard/Premium,而不是 Azure Front Door (classic)。

  1. 导航到 Azure Front Door,然后单击 + 创建
  2. 选择 Azure Front Door自定义创建,然后单击 继续创建 Front Door
  3. 选择您的订阅、资源组、名称和层(Standard 对我来说效果很好),然后单击 下一步:密钥
  4. 如果您使用的是自己的 SSL 证书,请在此处添加。添加后(或者如果您让 Azure 创建您的证书),单击 下一步:终结点
  5. 单击 添加终结点 并选择一个名称,然后单击 添加
  6. 在新的“路由”部分下,单击 添加路由。给它起一个名字。
  7. 对于“源组”,单击 添加新的源组。给它起一个名字。
  8. 单击 + 添加源。给它起一个名字。对于“源类型”,选择 自定义。对于“主机名”,输入您的 site.hosted-by-discourse.com 域名。确保“源主机标头”为空。单击 添加
  9. 在“添加源组”对话框中单击 添加
  10. 在“添加路由”对话框中单击 添加
  11. 单击 审阅 + 创建。单击 创建
  12. 等待 AFD 部署。部署完成后,单击 转到资源
  13. 在左侧菜单中选择 域名。单击 添加域名
  14. 对于“DNS 区域”,选择您的域名所在的区域。在“自定义域名”下,在 APEX 部分选择您的域名。单击 添加
  15. 当您的域名出现在列表中时,单击右侧的 。选择 关联
  16. 选择您之前创建的终结点和路由。单击 关联

如果您使用的是 AFD 托管证书

  1. 如果域名的“验证状态”为 待定,请单击该链接。选择“TTL 单位”的 分钟(以便快速验证),然后单击“DNS 记录状态”下的 添加 按钮。
  2. 请耐心等待。这是我花费过多时间抓耳挠腮的地方,但您需要等待。最终,“验证状态”应更改为 已批准
  3. 您可能需要重新生成并更新 TXT DNS 记录。您可以通过单击 重新生成 按钮来执行此操作。一旦出现“DNS 记录状态”下的 更新 按钮,您就需要单击它。
1 个赞

[引用=“rey.riel, 第13楼, 话题: 60951”]
为了使用Azure,您需要利用Azure Front Door。这些指令适用于Azure Front Door Standard/Premium,而不是Azure Front Door(经典版)。
[/引用]

供任何关注此事的人参考:此设置并不是在平衡DNS,而是在Azure中配置一个负载均衡器以代理源。

这不是官方支持的,因为它会产生副作用(所有访问者都来自Azure IP,而非他们的实际IP)

2 个赞