3

我的域名example.com来自域名注册商BigRock,它还为我提供了 DNS 管理面板。
我的应用程序托管在Herokuexample.herokuapp.com.

Heroku 的域设置:

bash-3.2$ heroku domains
=== MyApp Domain Names
*.example.com
example.herokuapp.com
example.com
www.example.com

在我的 DNS 管理面板中,我有 0 条 A 记录、1 条 Hotmail 的 MX 记录和 1 条 CNAME 记录www.example.com

我知道裸域和 Heroku 的 A 记录的问题。我已经完成了这些: 1. StackOverflow 问题 - 如何为指向 Heroku 应用程序的顶级域(无 www)设置 DNS?
2. Heroku DevCenter - 自定义域 - 设置根域
3. Heroku DevCenter - Apex 域

上述链接和许多其他链接指向 2 个解决方案:

  • 通过 DNSimple/DNS 轻松使用 ALIAS 或 ANAME 记录
  • 如果您的 DNS 提供商不支持这种记录类型,并且您无法切换到支持的记录类型,您将需要使用子域重定向将根域请求发送到 Heroku 上的应用程序。

因为,我在 BigRock DNS 管理控制台上找不到这样的记录。只有这些记录 - “A、AAAA、MX、CNAME、TXT、SRV 和 SOA”。

因此,我为我的域设置了“域转发”。但是,它只让我选择提供“您希望转发 www.example.com 和 example.com 请求的指定 URL ”。

现在,如果我这样做

bash-3.2$ host example.com
example.com has address 173.194.16.11
example.com mail is handled by 15 888379351a9a.pamx1.hotmail.com.

bash-3.2$ host www.example.com
www.example.com is an alias for example.herokuapp.com.

这确实解决了裸域问题。但是像其他子域xyz.example.com仍然没有重定向到www.example.com,因为没有提到将所有子域(即“*”)重定向到 BigRock DNS 提供商的“域转发”部分中的任何其他指定。

所以,我的问题是如何解决重定向子域的问题?

另一个与 SSL 相关的查询 -

Heroku Devcenter - subdomain redirection中,它说 “但是,请注意,使用此方法,对根域的安全请求,例如https://example.com,将导致显示错误或警告给用户。”

有什么办法可以解决上述问题,还是我必须切换到 DNSimple 或 DNS Made Easy 才能使用他们提供的 ALIAS 或 ANAME 记录服务?

更新:
在进一步挖掘中,我发现了这个 SO ques - Rails Manually redirecting from Naked Domain,建议使用:

这是更好的方法吗?

4

5 回答 5

3

在 BigRock DNS 面板中设置域转发后,您将看到两条 A 记录,例如example.com => 173.193.106.11www.example.com => 173.193.106.11。同样,如果您创建通配符 dns A 记录,它将重定向到所有域。IE*.example.com => 173.193.106.11

我不确定您的 IP 是否相同,因为 Bigrock 可能使用多个服务器来提供此服务。

于 2013-08-19T12:53:06.640 回答
1

Linode 也不提供裸域 ANAME 记录。我找到的一个解决方案是像往常一样为 Heroku 应用添加 www.site.com CNAME 记录。然后将裸域/catch-all A记录指向如下IP地址:

174.129.25.170

这是wwizer提供的免费裸域重定向服务。它将获取您的裸域,并将其简单地重定向到 www。相等的:

site.com => www.site.com

希望这可以帮助。

于 2013-08-30T09:04:38.373 回答
0

尝试www在域转发面板的“目标”中添加您的域名。稍后,删除 的 A 记录www。因此,将只有 2 个 A 记录

即裸域和通配符 (*)

然后添加 CNAME 记录以www指向该HerokuApp值。如果您遇到任何问题,请告诉我们。

于 2014-03-10T06:48:02.593 回答
0

您必须将Domain Forwarding您的网站从裸域转到 www 子域。此功能在功能旁边可用Manage DNS。对话框打开后,只需输入您的 www 子域(www.example.com)。6 到 8 小时后(有时需要 1 天),它会自动A record为您的裸域(example.com)添加一个指向 ip的点173.193.106.14

于 2014-07-31T06:31:30.473 回答
-1

例如 kanhaiyakumawat.com 和 kanhaiyakumawat.herokuapp.com

以下是步骤

  • 在您的 heroku 帐户中添加记录
  • www.kanhaiyakumawat.com 到 kanhaiyakumawat.herokuapp.com
  • kanhaiyakumawat.com 到 kanhaiyakumawat.herokuapp.com
  • *.kanhaiyakumawat.com 到 kanhaiyakumawat.herokuapp.com

所以现在这个heroku端设置完成了。让我们转到 bigrock 的“DNS 管理”部分。单击“管理 DNS”。

  • 添加 CNAME 记录
  • www.kanhaiyakumawat.com 到 kanhaiyakumawat.herokuapp.com
  • *.kanhaiyakumawat.com 到 kanhaiyakumawat.herokuapp.com

最重要的:设置裸域或根域设置

  • 现在这是最棘手的部分。只需将“主机名”文本框留空,然后在值中选择第二个单选按钮。
  • 将您的 heroku dns 值放在这里,例如 kanhaiyakumawat.herokuapp.com

此处提供相同的步骤:http: //kanhaiyakumawat.com/blog/heroku-and-bigrock-dns-setup/

于 2015-04-03T15:48:47.127 回答