我有一个应用程序,用户可以在其中获得自己的子域,例如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的页面。页面。因此,似乎Heroku没有加载我的应用程序。我猜这是因为我没有在我的Heroku应用程序中将docs.othersite.example
注册为域,但是我不想注册每个自定义域。另外,我不拥有这些域,因此无论如何也无法。
我在这里做错了什么?任何帮助深表感谢。我很乐意发布别人需要的更多信息或澄清任何内容。
答案 0 :(得分:0)
Heroku确实支持wildcard domains,因此在这种情况下,您可以将*.othersite.example
添加到Heorku应用程序的自定义域中。
如果您需要为每个用户支持不同的根域(othersite2.example,othersite3.example),则没有简单的方法来支持它。您需要使用Heroku的Platform API来以编程方式管理自定义域。