有人能给我解释一下为什么人们常说 Discourse 可以安装在普通域名上,而无需安装在子域名上,但只有某些 DNS 支持这一点吗?我真的不明白为什么只有某些 DNS 支持这一点,我弄不明白问题出在哪里。我只是想从技术上理解它的要点。提前感谢!
我认为您指的是 配置您的 Discourse 托管站点以在根目录或顶级域(例如 example.com)运行 — 这仅适用于 Discourse 托管的实例。我不认为这适用于个人、单实例托管。
问题在于,此托管设置[1] 通常期望配置的名称是 CNAME 记录,这是一种别名。C 代表“规范”。[2] 例如,_此_站点 meta.discourse.org 的记录是 CNAME(在我写这篇文章时),指向 app-cname-target.cdck-prod-meta.discourse.cloud。
由于 DNS 委派的结构方式 — 顶级域(如 .org 或 .com)将对二级域的请求发送到注册商配置的服务器[3] — 您只能为您获得的域 下 的主机名配置 CNAME。
为了绕过此限制,一些 DNS 提供商提供了他们称之为 ANAME 记录或“CNAME 展平”的功能。这可以与 任何 记录一起正常工作,包括您委派的“裸”或“顶级”域的记录。这不是 DNS 的 真正 标准部分,而是 DNS 公司提供的专有后台技巧 — 而且,并非所有提供商都这样做。
不过,您还可以做其他事情:
-
设置您的“顶级”域进行重定向,以便例如
example.net重定向到forum.example.net。在这里,人们仍然会看到并使用较长的名称,但他们可以 从 短名称 到达 那里。 -
可能 还有另一个选项:
-
在您的“顶级”域上设置一个透明的反向代理。这很复杂,我不确定它是否能轻松与 CDCK 的设置配合使用,但我在此提及以求完整。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.