開発のわだち(8):herokuアプリに独自ドメインからアクセスできるようにする
「herokuアプリに独自ドメインからアクセスできるようにする」
目標:herokuでホスティングしているアプリに「独自ドメイン」と「www付きのサブドメイン」の両方からアクセスできるようにする
目次:
1.AWSのroute53とS3の設定
2.heorku側の設定
herokuは便利なPaaSですが、デフォルトだとドメインが"herokuapp.com"っていうすごいカッコイイやつになっちゃうので、自分の取得したドメインからアクセスできるようにしたいって時の設定をメモります。
ちなみに、この記事ではドメイン取得以降の話を書いてます。
ドメインは"お名前.com"で取得しました。
1.AWSのroute53とS3の設定
www.のサブドメインもデフォルトドメインのどちらからでもアクセスできるようにできるAWSが最適かと思います。
お金はかかりますが。。。
やり方についてはい以下のサイトを参考にさせていただきました。
まずはroute53でHostedZoneを開きます。
このとき、Hosted zoneの名前を「独自ドメイン」にします。
続いてCNAMEレコードのNameには"www."を付記し、Valueにherokuに払い出された(herokuで使っている)ドメインを設定します。
次にS3で「独自ドメイン」名のバケットを作成します。
バケットの静的ウェブサイトホスティング機能を使います。
バケットのプロパティから静的ウェブサイトホスティングを開き"別のホスト名にすべてのリクエストをリダイレクトする"を選択します。
そんで、リダイレクト先にwww.のサブドメインを設定します。
route53に戻り、先ほど作成したHostedZoneにType:Aのレコードセットを追加します。
Aliasをyesにして、AliasTargetは自動的にサジェストされるS3バケットを選択する。
最後にNSレコードに表示されている四つのネームサーバをドメインレジストラに登録します。 お名前.comだと以下のような感じです。
これで独自ドメイン(www.のサブドメインも)からの名前解決ができるようになりました。 設定が反映されるのには1日〜3日ほどがかかります。
2.heorku側の設定
翌日、ワクワクして独自ドメインにアクセスしてみたらこの画面です。
はい、やられた。 オフィシャルを覗くと以下の対応方がありました。
$ heroku domains:add "独自ドメイン" $ heroku domains:add "www.独自ドメイン"
Herokuにも独自ドメインを認識させてやらにゃいかんということですな。
先に参考にさせて頂いたサイトにも書いてありましたね。
自分は一回目見落としました。お恥ずかしい。、
環境
Vagrant 1.7.4
VirtualBox 5.0.14
Apache/2.4.6