【问题标题】:Pointing domain to Heroku application with wildcard使用通配符将域指向 Heroku 应用程序
【发布时间】: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 应用程序添加一个自定义域名。我想知道是否有这样的方法,所以我不必每次都添加自定义域?

标签: heroku dns subdomain


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-18
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2013-08-29
    • 1970-01-01
    • 2019-07-31
    相关资源
    最近更新 更多