herokuで作ったWebサービスにネイキッド独自ドメインを設定する方法

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でもルート形式の独自ドメインが使えます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です