如何在 heroku 中使用非 www 域?

Posted

技术标签:

【中文标题】如何在 heroku 中使用非 www 域?【英文标题】:How to use a non-www domain with heroku? 【发布时间】:2012-12-10 12:29:10 【问题描述】:

我知道他们不支持,但是说真的,怎么办?将A记录指向一个仅向heroku提供301的ip?这听起来真的很愚蠢。我错过了什么吗?

有更简单的解决方法吗?

【问题讨论】:

【参考方案1】:

Heroku 没有自己的 DNS 管理,因此您需要在外部托管您的 dns 并将记录指向 heroku。这是解决方案(我使用路由 53 来管理 DNS-它是免费的)

1.将域添加到heroku- www.example.com ,之后heroku会给出一个CNAME记录

2.将此CNAME记录添加到路由53

3.创建一个名为example.com的s3存储桶并设置重定向到https://aws.amazon.com/blogs/aws/root-domain-website-hosting-for-amazon-s3/所说的www.example.com

4.(如果不需要HTTPS,请跳过此步骤)创建云端实例并使用www.example.com的s3存储桶链接进行配置,并仅为www.example.com添加cname条目。

5.在路由53中,为example.com创建一条A记录&点别名为与example.com的s3桶相关的云端链接,点别名为example.com的s3桶

6.完成

【讨论】:

【参考方案2】:

有一个更简单的解决方法。

将您的 www CNAME 指向 myapp.herokuapp.com

然后将您的根 url (myapp.com) 转发到 www.myapp.com

【讨论】:

您能详细说明“转发您的根网址”是什么意思吗?这是在 dns 区域中,还是在 heruku 或应用程序中? 我同意这个答案可以包含更多细节。【参考方案3】:

对于 NameCheap: @ 转到“http://www.example.com” www 转到“myHeroku.herokuapp.com”。

另外,结帐this answer

【讨论】:

【参考方案4】:

根据Heroku's documentation:

Heroku 应用程序不正式支持区域顶点域(也称为“裸”域或“裸”域),例如 example.com,因为 DNS 禁止区域顶点上的 CNAME 记录。但是,一些 DNS 主机提供了一种在区域顶点获得类似 CNAME 的功能的方法。

对于每个提供商,设置都相似:将您的***域的 ALIAS 或 ANAME 条目指向 myapp.herokuapp.com,就像使用 CNAME 记录一样。

Heroku 的文档中提到了这些提供者对区域顶点的“CNAME”支持:

ANAME at DNS Made Easy ALIAS at DNSimple

此外,这些提供程序也可以工作:

CloudFlare ARecord

而且大多数 DNS 提供商(例如 ClouDNS 和 Namecheap FreeDNS)都有免费的 webhop / web 重定向,因此您无需为重定向设置自己的 web 服务器。

【讨论】:

DNSimple 的这篇有用的文章可能会引起您的兴趣support.dnsimple.com/questions/…

以上是关于如何在 heroku 中使用非 www 域?的主要内容,如果未能解决你的问题,请参考以下文章

Heroku/GoDaddy:将裸域发送到 www [关闭]

如何为指向 Heroku 应用程序的***域(无 www)设置 DNS?

我如何将Squarespace域指向我的Heroku应用程序?

无法将 Heroku 连接到自定义 Google 域

如何将 Heroku 应用程序 DNS 配置到 Godaddy 域?

如何只允许从某些IP地址访问API