Herokuの無料プランで独自ドメインを設定し、HTTPS通信を行う方法【ムームードメイン+Cloudflare】
無料プランでは独自ドメインのセットは出来てもHTTPS通信を行うことは出来ない。
そのため、Cloudflareをリバースプロキシとして機能させ、クライアントからCloudflare間まで暗号化させる。
一見安全性に欠けるような形だが、AWSにデプロイした際も、クライアントからリバースプロキシ間までしか暗号化はされないので、それほど問題ではない。
気になるなら、有料プランを使用してHTTPS通信を行うと良いだろう。
手順
Cloudflareに登録する。
メールアドレスとパスワードを入力してアカウントを作る。
https://dash.cloudflare.com/sign-up
WebsitesからAdd siteを選ぶ。ムームードメインで取得したドメインをセットする。次のページで無料を選択する。
CNAME 独自ドメイン Herokuのドメイン を順に指定して保存する。
左サイドバーのDNSをクリックして、NSを調べる。
この情報を、ムームードメインのネームサーバー設定へ記述する。
Herokuへ独自ドメインをセットする。
Nextを押す
後は、CloudflareのSSLからSSLを有効化しておく。
これでOK。後はウェブアプリ側から独自ドメインを使用している旨を設定に描いておく。Djangoであればsettings.pyのALLOWED_HOSTS
にて、独自ドメインの文字列を追加しておく。
追加しておらず、DEBUGがTrueになっている場合は下記画面が出る。この場合、Djangoの設定問題であり、ドメイン問題は無い。