Herokuアプリのルートドメイン設定(Dozens + VALUE DOMAIN)

【追記:2015年9月4日】

以下の方法はDNSの仕様として認められておらず、メールが届かないなどの不具合を引き起こす場合があります。

2015年6月からDozensにALIASレコードが追加され、ALIASレコードを使うことでルートドメインへCNAME的な割り当てを行うことができるようになりました。

【参考】Dozens Blog — ALIASレコード機能を追加しました!

そのため、以下のCNAMEを使う方法は推奨できなくなりましたのでご注意ください。

@kasumiiです。こんにちは。

Herokuで動かしているアプリケーションに、ルートドメイン(ネイキッドドメイン)を設定する方法です。

以前からDozensというサービスを使ってルートドメイン運用できていましたが、設定方法が変わってしまったようなので合わせてメモメモ。

いつのまにかHerokuアプリにルートドメインでアクセスできなくなっていたので調べてみたところ、Aレコードが使用できなくなっていたことが判明。

2013年の4月頃にHerokuのサービスに独自ドメインを設定したときにはAレコードを使うことができていました。しかし2014年5月現在、Aレコードから飛ばす先のIPが廃止されているため新しいアプリケーションからは使うことができなくなっています。その上今回の対応で完全に既存のアプリケーションでも使えなくなるようなので、Aレコードを使ったドメインの設定は変えなければいけなくなりました。

CloudFlare使ってHerokuでルートドメイン使おう – PILOG

そういえば、何度かHerokuからメールが届いていたけど、あとで見ようと思ってそのままになってました…(ダメすぎ)。

以下のサイトでHerokuの新しいルーティングに対応できているかどうか調べることができます。Routing Type が「Current」になっていればOKですが、「Legacy」という表示になっている場合は対応が必要です。

【参考】Are your apps using legacy routing? – Heroku Support

Herokuの管理画面から、使用したいドメインを追加しておきます。

無料で使えるDNSサービス「Dozens」に登録し、Domain Name に使用したいルートドメインを追加します。

DNSを自由に簡単に。Dozens(ダズンズ)

ドメインに、以下のレコードを追加設定します。Typeを「CNAME」にし、Contentに「xxxxx.herokuapp.com」を入れれば、あとは空欄でOK。

Dozens側の設定はこれで完了。

わたしの場合はバリュードメインですが、お名前.com とかでも同様です。

ネームサーバーを、以下に変更。

ns1.dzndns.com
ns2.dzndns.com
ns3.dzndns.com
ns4.dzndns.com

設定が反映されるまでに少し時間がかかるかもしれませんが、これでルートドメインでHerokuアプリにアクセスできるようになりました。よかったー!

余談ですが、わたしはHeroku Schedulerで定期的にHerokuアプリをたたき起こす設定をしていました。今まではずっと無料だったんですが、ルートドメインでアクセスできなくなっていたせいか、Herokuの料金が発生してしまっていたので、同様にほったらかしてた方は念のためご注意を。(とはいっても、数ドルだったので助かりましたが。)