使用通配符将域指向Heroku应用程序

时间:2018-07-30 20:25:14

标签: heroku dns subdomain

我有一个应用程序,用户可以在其中获得自己的子域,例如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注册为域,但是我不想注册每个自定义域。另外,我不拥有这些域,因此无论如何也无法。

我在这里做错了什么?任何帮助深表感谢。我很乐意发布别人需要的更多信息或澄清任何内容。

1 个答案:

答案 0 :(得分:0)

Heroku确实支持wildcard domains,因此在这种情况下,您可以将*.othersite.example添加到Heorku应用程序的自定义域中。

如果您需要为每个用户支持不同的根域(othersite2.example,othersite3.example),则没有简单的方法来支持它。您需要使用Heroku的Platform API来以编程方式管理自定义域。