るびー めも

Ruby の学習メモを記す

heroku でルートドメインを設定する方法

最近は、オープンソースで公開している rubyist-connect の開発が楽しくて楽しくて
仕方ないです。皆さん、良ければ一緒に開発してみませんか?


rubyist-connect/rubyist-connect · GitHub

上記のソースを heroku で WEB アプリRubyist Connectとして公開しているのですが、
少し前にルートドメインでアクセス出来るようにDNSの設定を変更したので
その舞台裏?を少しお話します。

以前は、http://kobe.rubyist.co/ というサブドメインを Dozens というDNSサービスで運用していました。

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

無料で12レコードを登録出来る良いサービスでしたが、
heroku のアプリをルートドメインで運用することは出来ませんでした。

heroku でルートドメインとして運用したければ、以下のドキュメントに記載されている
いずれかの方法を選択しなければいけません。


Custom Domains | Heroku Dev Center

その中で、CloudFlare の CNAME Flattening という機能を使って
ルートドメインでの運用を(無料で)実現したので軽く説明します。

詳細については、以下が詳しいです。

CNAME Flattening: RFC-compliant support for CNAME at the root – CloudFlare Support

まずは、CloudFlare でアカウントを作成します。


Home | CloudFlare | The web performance & security company

詳細は、メモしていなかったので省きますが
まずは自分が運用しているサイトを追加します。

f:id:yuji_shimoda:20150117170007p:plain

右側にあるギアのアイコンから、DNS Settings を選択しクリックします。

f:id:yuji_shimoda:20150117170052p:plain

あとは、CNAME(Canonical NAME)エントリで
heroku のアプリケーションの alias としてルートドメインを入力し保存するだけ

f:id:yuji_shimoda:20150117170132p:plain

DNS 側の設定が完了したら、ドメインレジストラー側で
DNS サーバを CloudFlare で指定されたサーバに切り替えるだけです。

私の説明が分かりにくかった人は、以下を参考に
作業してみてください。
Configuring CloudFlare DNS for a Heroku App - Higher Order Heroku

無料でここまで出来るなんて知りませんでした。
教えてくれたのは、西脇.rb の伊藤さんです。


妻のパン屋のwebサイトをいろいろ更新した話 ~Rails 4アップデートとかサイトの高速化とか~ - give IT a try

感謝、感謝

とりあえず、heroku でルートドメインが利用出来たので満足です。
今まで運用していた http://kobe.rubyist.co/ は CloudFlare の Page rules という
機能を利用して http://rubyist.co/ に HTTP 301 redirect しています。

それは、また別のお話ということで