Herokuで独自ドメインを指定する際に使用するターゲット名

Herokuで独自ドメインを指定するには、CNAMEでHeroku側のドメインを指定して設定してやる必要がある。

少し前までのターゲット

少し前まで(具体的にはSSLの設定がHerokuの標準機能に組み込まれるまで)は、以下のような設定内容で設定していた。
(アプリ名を appname とし、設定するサブドメインは、www.appname.com とする)

種類 (Record) 名前 (Name) 内容 (Target)
CNAME www appname.herokuapp.com

Heroku Free SSL導入後のターゲット

注意

ここでの説明はあくまでも独自サブドメインの設定方法となる。
ルートドメインをHerokuのアプリで使用したい場合は、別途PointDNSアドオンや、AWSのRoot53などのサービスを使用する必要があるが、ここでは割愛する(どれがデファクトスタンダードかまだ決まりきってない印象)。
なので、CNAMEでの設定となり、Aレコードでの設定ではないので注意。
(herokuは固定IPではないので、通常はAレコードは使用出来ない)

前提

今まで、Herokuに独自のSSL証明書を適用させるためには Heroku SSLのアドオン が必要だったのだが、
FreeDyno以外の有料アプリに限りデフォルトでSSLの設定が出来るようになった。
しかもブラウザ上からドラッグアンドドロップでファイルをアップ出来るようになったため無料かつ便利になった。

(無料Dynoでの利用の場合はアドオンの追加が必要になるのだが、一番安いhobby dynoは月$7/1dyno、で、SSLアドオン 月$20、なので、有料dynoにした方が安いため、アドオンで設定するメリットはほぼないと思われる)

ターゲットの変更

そのタイミングで、CNAMEとして設定するターゲット名も変更になった。
今までは、 hokkaido-1212.herokussl.com など、都道府県が入ったようなランダムな名前だったのだが、新しく、 www.appname.com.herokudns.com というような名前となった。
以下のようになるよう。

1
{設定するサブドメイン}.herokudns.com

ターゲット名

よって、CNAMEでの設定も内容の部分が変更となる。
このターゲット名だが、SSLを使用の有無、無料・有料Dynoに関わらず、一律で herokudns.com の指定となる。

Herokuの設定画面から設定した場合は以下のような感じで表示がされるので、DNA Targetの部分を使用すればよい。

コマンドで確認した場合は以下のような感じになる。

1
2
3
4
5
6
7
8
$ heroku domains -a appname
=== appname Heroku Domain
appname.herokuapp.com

=== appname Custom Domains
Domain Name      DNS Target
───────────────  ─────────────────────────────
www.appname.com  www.appname.com.herokudns.com

CNAMEの設定

よって、設定内容は以下のようになる。

種類 (Record) 名前 (Name) 内容 (Target)
CNAME www www.appname.com.herokudns.com

参考

   このエントリーをはてなブックマークに追加