2023年1月4日更新
Herokuに無料プランがなくなったので、一部表現を修正しています。
はじめに
完全無料でRailsアプリを公開する方法 の記事の詳細版になります。Herokuで独自ドメインをHTTPSで利用する場合、費用が掛かってきます。(FreeのプランだとHerokuのドメインだけしかHTTPS化できないのでNG)
そこで、freenomとCloudflareを組み合わせることで、独自ドメインでもHTTPS化できるので、その方法をこの記事では書きたいと思います。
※ただし、freenomは無料で取得したドメインでも、2年目以降に課金される可能性があるため、テストサイトなどで利用することをお勧めします。
ドメインの取得
freenom にアクセスして、アカウント作成&ログインします。
[Services]>[Register a New Domain]を押して、自分が取得したい名前を入力します。トップレベルドメインを除く文字を入力(test.xxを取りたいならtestだけ入力)
※2021年11月時点で無料で取得可能なのは「.tk / .ml / .ga / .cf / .gq」のドメインです。
ここで取得したドメインを①とします。
CDNの登録
Cloudflareにアカウント登録を行い、さきほどfreenomで取得したドメインの①をcloudflareの「サイト」として追加します。
DNS設定
DNSの設定にHerokuの[Settings]のDomainsに記載の以下のDNS Target(②とします)をcloudflareに登録します。
さらに、cloudflareの画面の「Cloudflare ネームサーバー」という項目に記載されているNSレコード(③とします)を freenom にコピーします。
③をfreenomの[Services]>[My Domains]>[Manage Domain]>[Management Tools]>[Name Servers]に登録します。
最後にcloudflareの[SSL/TLS]>[概要]で暗号化モードが「フレキシブル」になっていることを確認します。
動作確認!
ここまでで、bounty-hunter.mlがHTTPSで外部から閲覧できるはずです。
(各DNS設定が反映されるまで多少時間がかかるかもしれません)
更新
freenomの無料ドメインは最長で1年間の登録期限の設定が可能なので、1年間は特に気にせず利用可能です。
期限が近づくと登録しているメールアドレス宛に更新連絡が来ますので、記載の内容に従って更新作業を行います。期限切れの14日前から更新が可能です。