我在heroku上有一个应用程序(付费dyno):
https://example.herokuapp.com/
我购买了一个域名:
www.example.com
阅读多篇指南后,我无法弄清楚如何执行以下操作:
总体目标是拥有 api.example.com
等域名感谢。 注意:请不要只是链接到heroku和namecheap中的文档。我已经阅读了所有内容,但它们已经过时/非特定。
答案 0 :(得分:5)
我刚刚做了类似的事情,我认为这就是你需要的。在我的情况下,我需要为现有的heroku应用启用SSL ACM(Automatic Certificate Management)。
首先,您需要打开自动证书管理才能从heroku获取SSL证书。
检查ACM是否开启
$ heroku certs:auto -a [your app name]
=== Automatic Certificate Management is disabled on [your app name]
Note: if you don't have heroku-toolbelt installed, just ignore this step. It's just a check.
转到heroku信息中心的设置
再次检查证书状态
$ heroku certs:auto -a [your app name]
=== Automatic Certificate Management is enabled on [your app name]
其次,您需要登录您的namecheap dns zonefile页面并添加CNAME。
将CNAME更改为“api”记录以指向api.mysite.com.herokudns.com(或上述DNS目标中的任何内容)
TYPE NAME VALUE
A @ 10.10.10.10 <<< your www ip
CNAME api api.mysite.com.herokudns.com <<< you need this one.
等待10分钟
答案 1 :(得分:1)
因此CNAME不能为我工作。在Heroku中,我按照以下步骤设置域:
然后在Namecheap中,使用您的Heroku DNS目标设置一个重定向和ALIAS WWW记录
如果有人为此感到困惑,请信任我,尝试这种配置!经过多次尝试和错误尝试后为我工作。
答案 2 :(得分:0)
考虑到您的应用位于https://example.herokuapp.com/
,并假设您拥有域www.example.com
,请按照以下步骤操作,以使应用在自定义域上运行:
使用Heroku CLI
$ heroku domains:add www.example.com
$ heroku domains:add example.com
名称便宜
登录帐户后
www.example.com
和example.com
,应创建以下主机记录: URL Redirect Record
,以便@
转发到http://www.example.com
(如图中的http://www.yourdomain.tld
)
CNAME Record
映射到您的Heroku域www
(图中的www.example.com.herokudns.com.
)www.yourdomain.tld.herokudns.com.
app.example.com
和example.com
,则应创建以下记录: URL Redirect Record
,以便@
转发到http://app.example.com
(如图中的http://app.yourdomain.tld
)
CNAME Record
(已映射到您的Heroku域app.example.com.herokudns.com.
(图中的app.yourdomain.tld.herokudns.com.
)的应用程序
就是这样!现在您的应用程序应该在www.example.com
上运行。
有关名称便宜方面的更多信息,请选中this link。