Heroku環境で、ルートドメイン運用で独自ドメイン設定をした際の手順概要です。Herokuは、サブドメインでの運用なら普通にCNAMEで簡単なんですが、ルートドメイン運用はやや手間がかかる印象でした。
ルートドメインで運用するか、サブドメインで運用するかによってDNSの設定が違います
- サブドメイン形式(www.example.com)で使いたい場合、お名前.com + herokuだけで可能。アプリ名.herokuapp.comをお名前.comのCNAME設定に追加するだけなので、簡単に済む。
- ルートドメイン形式(example.com)で使いたい場合、DNSを変更する必要がある。
- GWS – Gehirn Web Services ゲヒルンウェブサービスが無料で2ドメインまで使えるので、これが無難。但し、ルートドメイン形式とサブドメイン形式の共存はできない。
ルードドメイン形式で独自ドメインを設定する手順
- ルートドメイン形式での設定方法は次の通り。
- heroku domains:add コマンドでドメインを追加する。
% heroku domains:add example.com
Adding example.com to example-apps... done
- Gehirn Web Servicesのコントロールパネルにログインする。
- DNSタブをクリックし、管理ドメイン一覧画面を表示する。
- 右上にあるドメインを追加するボタンをクリックする。
- ドメインの追加ダイアログが表示されるので、登録したいドメインを入力し、追加ボタンをクリックする。
- ゾーン作成ダイアログが表示される。ドメインの所有権の確認が必要です。というメッセージあり。下記の情報をコピペしておき、閉じるボタンを押す。
ドメインの所有権の確認時に表示されるゾーン作成ダイアログ
新規取得ドメインなど
ドメインのネームサーバに下記を設定してください。なお、1番目のネームサーバは、今回のゾーン作成を確認するためのものです。ゾーン作成後は削除してください。
4d9945e26a71b23c37c7c38272a3ddd43a428a643.dns-verify.gehirn.ne.jp
ns.gehirn.jp
ns.gehirndns.com
ns.gehirn.co.uk
ns.securedns.jp
- お名前.comのドメイン管理画面にアクセスする。
- ネームサーバの変更画面を表示し、他のネームサーバーを利用タブをクリックし、ネームサーバー情報を入力欄にGehirnで表示された5つのネームサーバ情報を登録する。
- Gehirnコントロールパネルにログインし、再度ドメインの追加ボタンを押し、登録するドメインを入力する。
- ゾーン作成ダイアログが表示されたら、確認コードを認証するボタンを押す。
- DNS変更から、あまり時間が経っていないと、”エラー 409: Conflict: 認証コードを確認できません“と表示されるが、その場合は暫く時間を置く。
- 成功すると、”ゾーン作成 ゾーンを作成しました。NSレコード、もしくはTXTレコードに設定した認証コードは、削除してください。“と表示される。OKボタンを押す。
- 管理ドメイン一覧画面に、登録したドメインが表示される。
- 登録したドメインの設定ボタンを押す。
- Apex Aliasタブを押し、Apex Alias セットアップ画面を表示させる。
- 設定を変更するボタンを押すと、Apex Alias の設定ダイアログが表示される。下記のように入力し、保存ボタンを押す。最後に.(ドット)を入れるのを忘れずに!
AliasTo: example.herokuapp.com.
TTL: 60
- 再度、Apex Alias セットアップ画面が表示される。下記のように登録されていれば、OK。
Apex Alias セットアップ設定を削除する設定を変更する
参照先 example.herokuapp.com.
更新サイクル 60 秒
最終更新日時 0000-00-00 00:00:00
登録日時 2014-02-10 01:23:46
- ブラウザから、http://example.com/にアクセスして、正常に表示されることを確認する。ちなみに、http://www.example.com/ はサブドメイン形式なのでつながらないのが正常。
これで、Herokuでもルート形式の独自ドメインが使えます。