この記事を書くモチベーション
お名前ドットコムで取得した独自ドメインを用いて、Herokuで無料プラン内で運用するための設定について書いていきます。
独自ドメインの適用、ならびにSSL対応部分についてはCloudflareを利用します。
こちらも無料プラン内で利用するので、結果的に無料で独自ドメイン対応&SSL対応させたウェブサービスの運用が可能です。
もちろん無料プランだとHerokuはアクセスがないとサーバが寝てしまうので、ある程度そういうものを許容した上での運用となります。
Herokuの無料プランで運用する上での注意点などは書きません。
なお、このような情報はもういくつもの記事が書かれています。
ただ、自分が必要としたときにサクッと手順を確認できるような、まとめられた記事が見つからなかったので(探し方が下手なのかも)、まとめようと思った次第です。
数年前にもHerokuでここに書くような設定を行っていたはずですが、今回再び同じような手段を用いようとしたとき、すっかり記憶から設定手順が抜け落ちて、10~20分ほどインターネット検索のために時間が取られてしまいました。
おそらく数年後に、また同じような手段を用いて私はHerokuでウェブサービスをリリースしようとするでしょう。
そのときにサクッと見返せるドキュメントがウェブ上に転がってほしい。この記事を書くモチベーションはそこにあります。
やることの概要
やることは下記ですが、Herokuに関する設定の記述は殆どありません。
ほぼほぼCloudflareの話でした。
- Herokuの無料プランを用いてWebアプリをデプロイ
- お名前ドットコムで取得した独自ドメインを適用する
- Cloudflareを利用してSSL対応(無料プラン)
-
www.example.com
からexample.com
への301リダイレクト設定
Herokuの無料プランを用いてWebアプリをデプロイ
特に説明はありません。
まずは普通にHerokuの無料プランでウェブアプリをデプロイします。
この時点で example.herokuapp.com
的なドメインが割り当てられています。
このドメインをお名前ドットコムで取得したドメインに差し替えます。
(ここでは例としてexample.com
とします。Herokuは例として example.herokuapp.com
で書いていきます。適宜読み替えてください)
お名前ドットコムで取得した独自ドメインを適用する
お名前ドットコムで独自ドメインを取得します。
ここもドキュメントに残すことが特にありません。
ドメインを取得したら、あとでネームサーバを変更するので、ログインしたままにしときます。
Cloudflareを利用してSSL対応(無料プラン)
まずはCloudflareにログインして、ドメインの追加を行います。
ここで追加するドメインはお名前ドットコムで取得したドメインです。
ドメインの追加を行うとどのプランを使うのか聞かれるので無料プランを選択します。
次にCloudflareのネームサーバーが2つ表示されるので、これを下記のようにお名前ドットコム側で設定します。
(特にマスクしなくても良い気がしましたが、一応しときます)
次にメニューから DNS
を選択し、CNAMEの設定を行っていきます。
下記のように設定しました。
今回、 A
, AAAA
ではなく、CNAME
でどちらも(example.com
も www.example.com
も)追加しています。
これでDNSの設定は完了です。
www有りから、www無しにリダイレクトを行う
今回www付きのドメインを含めた2種類をCloudflareに登録しましたが、www有りのドメインについてはwwwなしの方にリダイレクトさせます。
ここの詳細については、Cloudflare - すべてのユーザーに必須のPage Ruleを参照しています。
ちなみに無料プラン内だとページルールは3つまで設定できるそうです。
今回はwww有りからwwwなしへの301リダイレクトのみを設定するので、設定は1つだけです。
下記のように設定しました。
(初回の設定画面だと 保存してデプロイ
というボタンがあり、それを押すことで適用されます。キャプチャは一度デプロイし終えたあとの編集画面なので文言は微妙に異なります)
これで www.example.com
から example.com
へ301リダイレクトするようになります。
これらの設定を行い、だいたい数時間から1日ぐらい待っていると設定が完了されます。
自分の場合はどれぐらいで設定が反映されたか計っていないですが、就寝前に設定して起きたら反映が完了していました。