【发布时间】:2018-07-30 20:25:13
【问题描述】:
我有一个应用程序,用户可以在其中获得自己的子域,例如 site1.mysite.example。我想允许用户注册一个自定义域,他们可以指向他们的子域,但我无法弄清楚如何配置 Heroku 和我的 DNS 设置以允许这样做。
在我的域的 DNS 设置中,我有一个 CNAME 记录设置,如下所示:
Host = *
Value = sites.mysite.example
这里的值是我正在运行的一个应用程序,它将转换子域 (site1.mysite.example) 以确定要加载的站点。
我有一个 mysite.com 的 CNAME,它指向 Heroku 的 DNS 站点:
Host = sites.mysite.example
Value = mysite.example.herokudns.com
在我正在测试的域上,我有一个这样的 CNAME 记录设置:
Host = docs.othersite.example
Value = site1.mysite.example - 这是他们在我网站上获得的子域
但由于某种原因,这不起作用。如果我在我的应用程序中将site1.mysite.example 注册为自定义域并运行dig site1.mysite.example,我会得到以下信息:
;; ANSWER SECTION:
docs.othersite.example IN CNAME site1.mysite.example
site1.mysite.example IN CNAME sites.mysite.example
sites.mysite.example IN CNAME mysite.example.herokudns.com.
当我在浏览器中尝试docs.othersite.example 时,我得到了 Heroku 的 There's nothing here, yet. 页面。所以看起来 Heroku 没有加载我的应用程序。我猜这是因为我没有在我的 Heroku 应用程序中将 docs.othersite.example 注册为域,但我不想注册每个自定义域。另外,我不拥有这些域,所以无论如何我都不能。
我在这里做错了什么?任何帮助深表感谢。我很乐意发布更多有人需要的信息或澄清任何事情。
【问题讨论】:
-
我可以通过在我的 Heroku 应用程序的注册域名中添加域
docs.othersite.example来完成这项工作。虽然这似乎可行,但每当有人在我的应用程序中更新他们的自定义域时,我都必须向我的 Heroku 应用程序添加一个自定义域名。我想知道是否有这样的方法,所以我不必每次都添加自定义域?