使用 heroku 配置 namecheap 域名
configuring namecheap domains with heroku
我在 heroku 上有一个应用程序(付费测功机):
https://example.herokuapp.com/
我购买了一个域名:
www.example.com
阅读了多个指南后,我不知道如何执行以下操作:
- 将域指向我的 heroku 应用程序(使用 SSL)
- 配置子域,如 api.example.com
总体目标是拥有一个像 api.example.com
这样的域
谢谢。 注意:请不要简单地 link 从 heroku 和 namecheap 获取文件。我都看完了,都出date/unspecific.
我最近刚做了类似的事情,我想这就是你需要的。就我而言,我需要为现有的 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 仪表板的设置
- 单击 'Configure SSL' 按钮
- 选择 ACM 并点击继续
- 如果 api.mysite.com 不存在,请单击 'Add domain' 按钮。
- 注意 'DNS Target' 类似于 api.mysite.com.herokudns.com
再次检查证书状态
$ heroku certs:auto -a [your app name]
=== Automatic Certificate Management is enabled on [your app name]
其次,您需要登录您的 namecheap dns 区域文件页面并添加 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 分钟
- 浏览至 api.mysite.com
考虑到您的应用位于 https://example.herokuapp.com/
,并假设您拥有域 www.example.com
,请按照以下步骤将您的应用 运行 置于您的自定义域中:
使用 Heroku CLI
- 添加带有子域的自定义域
$ heroku domains:add www.example.com
- 添加自定义根域
$ heroku domains:add example.com
在 namecheap
登录您的帐户后
- Select 域列表,然后单击您的域旁边的 管理 按钮:
- 导航到 高级 DNS 选项卡并单击主机记录部分中的 添加新记录 按钮:
- 要使用
www.example.com
和 example.com
,应创建以下主机记录:
URL Redirect Record
for @
转发给http://www.example.com
(图中http://www.yourdomain.tld
)
CNAME Record
for www
映射到您的 Heroku 域 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
for app mapped to your Heroku Domain app.example.com.herokudns.com.
(app.yourdomain.tld.herokudns.com.
in the picture)
就是这样!现在您的应用程序应该 运行 在 www.example.com
。
有关 namecheap 方面的更多信息,您可以查看 this link。
所以 CNAME 对我不起作用。在 Heroku 中,我按如下方式设置我的域:
然后在 Namecheap 中,我使用您的 Heroku DNS 目标设置重定向和 ALIAS WWW 记录
相信我,如果有人为此苦苦挣扎,请尝试此配置!经过多次尝试和错误尝试后为我工作。
我在 heroku 上有一个应用程序(付费测功机):
https://example.herokuapp.com/
我购买了一个域名:
www.example.com
阅读了多个指南后,我不知道如何执行以下操作:
- 将域指向我的 heroku 应用程序(使用 SSL)
- 配置子域,如 api.example.com
总体目标是拥有一个像 api.example.com
这样的域谢谢。 注意:请不要简单地 link 从 heroku 和 namecheap 获取文件。我都看完了,都出date/unspecific.
我最近刚做了类似的事情,我想这就是你需要的。就我而言,我需要为现有的 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 仪表板的设置
- 单击 'Configure SSL' 按钮
- 选择 ACM 并点击继续
- 如果 api.mysite.com 不存在,请单击 'Add domain' 按钮。
- 注意 'DNS Target' 类似于 api.mysite.com.herokudns.com
再次检查证书状态
$ heroku certs:auto -a [your app name] === Automatic Certificate Management is enabled on [your app name]
其次,您需要登录您的 namecheap dns 区域文件页面并添加 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 分钟
- 浏览至 api.mysite.com
考虑到您的应用位于 https://example.herokuapp.com/
,并假设您拥有域 www.example.com
,请按照以下步骤将您的应用 运行 置于您的自定义域中:
使用 Heroku CLI
- 添加带有子域的自定义域
$ heroku domains:add www.example.com
- 添加自定义根域
$ heroku domains:add example.com
在 namecheap
登录您的帐户后
- Select 域列表,然后单击您的域旁边的 管理 按钮:
- 导航到 高级 DNS 选项卡并单击主机记录部分中的 添加新记录 按钮:
- 要使用
www.example.com
和example.com
,应创建以下主机记录:
URL Redirect Record
for @
转发给http://www.example.com
(图中http://www.yourdomain.tld
)
CNAME Record
for www
映射到您的 Heroku 域 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
for app mapped to your Heroku Domain app.example.com.herokudns.com.
(app.yourdomain.tld.herokudns.com.
in the picture)
就是这样!现在您的应用程序应该 运行 在 www.example.com
。
有关 namecheap 方面的更多信息,您可以查看 this link。
所以 CNAME 对我不起作用。在 Heroku 中,我按如下方式设置我的域:
然后在 Namecheap 中,我使用您的 Heroku DNS 目标设置重定向和 ALIAS WWW 记录
相信我,如果有人为此苦苦挣扎,请尝试此配置!经过多次尝试和错误尝试后为我工作。