Heroku (無料プラン)で独自ドメインでSSLを使う方法
更新日: 2023.2.2公開日: 2020.4.27
Herokuでの独自ドメインの利用方法や仕組み、無料プランで独自ドメインでSSLを使う方法をまとめました。
※Herokuの無料プランは2022年11月で終了しています。
Herokuと独自ドメインの関係
Herokuでは、アプリをデプロイすると、
xxxx.herokuapp.com
というHerokuサブドメインが付与された状態で公開されます。このドメイン自体はSSL化されているので、このHerokuサブドメインをそのまま使う際はSSLについて特にやることはありません。
一方で、自身が持っている独自ドメインに置き換えができますが、「無料プラン」では独自ドメインにSSLを使うことができません。
独自ドメインはどのプランでも設定できる
Herokuで独自ドメインを使うのは有料プランだけと思いがちですが、独自ドメイン自体は無料プランも含めた全てのプランで設定ができます。
Herokuでの独自ドメインの設定は、
- Herokuで独自ドメインを設定(アプリトップ > Settings > Domains)
- ドメインのDNSレコードでCNAMEで「管理画面に出てきたドメイン(DNS Target)」に向ける
とすることで利用できます。
「独自ドメインでのSSL利用」は有料プランから
一方、「独自ドメインにSSLを付与する」機能は有料プラン限定です。
これはHeroku側で自動で取得するLets's Encryptの無料SSL証明書であろうと、自身が持っている証明書であろうと同じです。無料プランでは、「管理画面に出てきたCNAME用のドメイン」がSSLに対応していないため、SSLでCNAMEができません。
Herokuと独自ドメインの関係まとめ表
課金項目 | Free | Hobby以上の有料プラン |
---|---|---|
独自ドメインの設定 | ● | ● |
独自ドメインのSSL設定 | × | ● |
CNAMEの向き先サーバ | HTTPのみ | HTTP/HTTPS |
Herokuの無料プランでSSLを使う裏技
Herokuの無料プランでは「Heroku側で独自ドメインのSSLが使えない」というのは、CNAMEの受け側がSSLに対応していないからなので、その前にプロキシをかませてしまえば、擬似的にSSL化ができます。
無料で使えるCloudFlareを利用すれば、DNSでプロキシしてSSL化することができます。
設定方法は、以下のようになります。
- Herokuで独自ドメインを設定(アプリトップ > Settings > Domains)
- CloudFlareのドメインのDNSレコードでCNAMEで「管理画面に出てきたドメイン(DNS Target)」に向ける
- CloudFlareの対象ドメインをプロキシする(クラウドマークをオンにするだけ)
- CloudFlareのSSL設定を「フレキシブル」にする
詳しい設定方法は下記の記事も参考にどうぞ。
Heroku (無料プラン)で独自ドメインでSSLを使う方法を見てきました。
この方法は、ブラウザ <--> CloudFlare間をSSL化するだけなのですが、Chromeなどの非SSLページ警告を回避する用途などには十分なので、ぜひ使ってみてください。
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
サーバレスの新着記事
- サーバレスCloudflare R2の料金体系・無料枠まとめ 2024.8.21
- サーバレスCloudflare R2をCyberduckで使う方法 2024.7.31
- サーバレスAIの学習ボット・クローラーからサイトを守るメリットとブロックする方法 2024.7.19
- サーバレスCloudFlare Pagesのビルド環境の違い 2024.5.9
- サーバレスCloudflare D1の料金体系・無料枠まとめ 2024.3.25
- サーバレスCloudflare PagesでNuxt3のビルド時に「ENOENT: no such file or directory」エラーの対象方法 2024.3.21
- サーバレスGitlab CLIでpush時に「glab auth not found」となった際の対処方法 2024.3.19
- サーバレスCloudFlare Workers AIの料金体系・無料枠まとめ 2024.2.2