サーバレスのサムネイル

サーバレス

Heroku (無料プラン)で独自ドメインでSSLを使う方法

更新日: 2023.2.2公開日: 2020.4.27

Herokuでの独自ドメインの利用方法や仕組み、無料プランで独自ドメインでSSLを使う方法をまとめました。

編集ノート: SERVERSUSでは、パートナーリンクからコミッションを得ています。コミッションが記事の意見や、サービスの評価に影響を与えることはありません。

※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と独自ドメインの関係まとめ表

課金項目FreeHobby以上の有料プラン
独自ドメインの設定
独自ドメインの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ページ警告を回避する用途などには十分なので、ぜひ使ってみてください。


価格は記載がある場合を除き、すべて税込みです。

関連キーワード

サーバレスの新着記事