如何将子域指向 Heroku 应用程序,将根域指向另一个 Heroku 应用程序?

Posted

技术标签:

【中文标题】如何将子域指向 Heroku 应用程序,将根域指向另一个 Heroku 应用程序?【英文标题】:How to point subdomain to a Heroku app, and root domain to another Heroku app? 【发布时间】:2012-11-22 19:49:03 【问题描述】:

我在将子域路由到 Heroku 上托管的 Wordpress 博客并将根域路由到另一个 Heroku 应用时遇到问题。

如果我在 NameCheap 上购买了一个名为 cheese.com 的域,并且我想路由像 blog.cheese.com 这样的子域,我该如何在 Heroku 上执行此操作?

我需要在每个 Heroku 应用程序上放置什么类型的设置?

【问题讨论】:

我相信通配符是最好的选择,比如@Ved 【参考方案1】:

我不确定 NameCheap 的确切方向,但将子域重定向到 Heroku 应用程序的一般方法是将 CNAME 记录添加到子域。要重定向根域,您需要在区域顶点设置类似 CNAME 的功能。

子域

blog.cheese.com 会有一条指向 myblog.herokuapp.com 的 CNAME 记录,您可能还想为 www.blog.cheese.com 创建一条 CNAME 记录。

示例记录可以是:

Name: blog.cheese.com
TTL: 14400
Type: CNAME
Address: myblog.herokuapp.com

设置两条 CNAME 记录后,您需要告诉 heroku 将域指向您的应用。

heroku domains:add --app myblog blog.cheese.com

如果您对两个子域都这样做,它们现在应该指向您的 Heroku 应用程序。

根域

要指向根域,您需要设置几条记录

Host Name: @      
URL: http://www.cheese.com                
Record Type: URL Redirect

Host Name: www            
URL: mymainpage.herokuapp.com              
Record Type: CNAME (alias)

设置两条记录后,只需通过 Heroku 调用以下命令,将您的域指向它。

heroku domains:add --app mymainpage.herokuapp.com cheese.com

这里有几个地方可以寻找额外的信息。

Point namecheap domain to Heroku

Custom Domains | Heroku Dev Center

【讨论】:

如何为子域创建一个cname? @Saurabh 您需要通过域名托管服务商、托管服务提供商或 AWS 的 Route 53 等服务查看您的域记录。无论您的名称服务器指向哪个位置 :)【参考方案2】:

您必须将自定义域添加到您的 heroku 应用程序 - https://devcenter.heroku.com/articles/custom-domains - 设置好必要的DNS后,就可以添加通配符了

【讨论】:

以上是关于如何将子域指向 Heroku 应用程序,将根域指向另一个 Heroku 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Heroku上使用Zerigo DNS将根级域重定向到www子域? [关闭]

如何设置DNS,让一个gitlab页面的根域和子域指向同一个地址?

DNS:当有其他DNS子域时,将根域转发到www ...

Route53 中的域将根指向外部主机,在 AWS 中保留子域

将根域重定向到子域的影响

如何在每个都有自己的 GTM 和 GA 容器的根域和子域之间设置跨域跟踪