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

:bookmark: 本指南介绍如何配置托管的 Discourse 站点,使其运行在根域名或顶级域名(例如 example.com,而不是 forum.example.com)上。更改站点域名的一般流程已在为托管 Discourse 配置域名指南中说明。

:person_raising_hand: 所需用户权限:管理员

大多数托管的 Discourse 站点都运行在子域名上,例如 forum.example.com、talk.example.com 或 www.example.com。这是推荐的设置方式,在几乎所有情况下都能正常工作。

虽然可以将站点运行在根域名或顶级域名(例如 example.com)上,但在托管环境下这会更复杂,因为根域名的 DNS 解析机制较为特殊。此选项仅在 Pro、Business 和 Enterprise 套餐中可用。在 Free 套餐中,不支持自定义域名,您的站点将保留在 discourse.group 地址上。

要在根域名或顶级域名上运行站点,需要满足以下两个条件:

  1. 您的 DNS 提供商必须支持以下列出的记录类型之一(在根域名处使用普通的 CNAME 记录是不够的)。
  2. 最终配置由 Discourse 团队完成,因为您管理面板中的 Change Domain Name(更改域名)按钮会检查 CNAME 记录,无法处理顶级或根域名。

配置您的 DNS 提供商

  1. 检查您的 DNS 提供商是否支持根域名的记录类型。如果您的提供商未列在下方,您必须先切换到这些提供商之一。
  2. 按照表格中的链接详情,为您的提供商创建相应的记录。
  3. 一旦您的 DNS 记录配置到位,请联系 team@discourse.org 处的 Discourse 团队以完成根域名更改。

支持根域名或顶级域名的 DNS 提供商

提供商 类型
AWS Route53 (仅限 AWS[1]) A & AAAA ALIAS 记录;点击查看示例 →
Cloudflare CNAME 展平。关闭 Cloudflare 代理(云图标必须为灰色),以免干扰站点
DNSimple ALIAS
DNS Made Easy ANAME
DreamHost ALIAS
easyDNS ANAME
Gandi ALIAS
Hurricane Electric ALIAS
Name.com ANAME
Namecheap ALIAS
PointDNS ALIAS
Webcentral(前身为 Netregistry) Cloaked redirection(仅限 IPv4)

:exclamation: 如果您的 DNS 提供商未列在上方,请在继续之前切换到支持根域名或顶级域名记录类型的提供商。普通的 CNAME 记录在根域名处无法正常工作。

:information_source: 如果您测试了此处未列出的 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 個讚