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
詳細は、メモしていなかったので省きますが
まずは自分が運用しているサイトを追加します。
右側にあるギアのアイコンから、DNS Settings を選択しクリックします。
あとは、CNAME(Canonical NAME)エントリで
heroku のアプリケーションの alias としてルートドメインを入力し保存するだけ
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 しています。
それは、また別のお話ということで