search
LoginSignup
2

More than 1 year has passed since last update.

posted at

updated at

【Heroku】サブドメインを使ってhttps対応

サブドメインでのssl対応に苦戦しました。
うまくいった方法を記録しておきます。

設定したい内容

# herokuアプリのデフォルトのドメイン
mydomain.herokuapp.com
# 設定したいサブドメイン
hogehoge.mydomain.com

手順

Heroku側にドメインを追加

$ heroku domains:add hogehoge.mydomain.com

HerokuのプランをHobbyプランに変更

Heroku管理画面から設定。
無料のプランだと、カスタムドメインのSSL化ができないようです。

SSLの有効化

Herokuの管理画面 > Settings > SSL CertificatesからSSLを有効化

DNSターゲットの確認

まずはHerokuの管理画面で、DNSターゲットを確認。(Settings > Domains)
 2021-04-30 19.53.23.png
末尾が.herokudns.comで終わるやつです。

CNAMEレコードの設定

(お名前.comとかの管理画面から)ドメインのDNS設定で、CNAMEレコードに先ほど確認したDNSターゲットを設定。

CNAME  hogehoge  hiogehioerheefoiefjerrrfe.herokudns.com

設定が反映されるまで数時間待つ。

http→httpsにリダイレクト

今回Railsアプリを動かしていたので、production.rbの設定をいじって対応。

config/environments/production.rb
config.force_ssl = true

ハマったポイント

当初CNAMEレコードにherokuのデフォルトのドメインを設定していて、httpだと動くのにhttpsだとNET::ERR_CERT_COMMON_NAME_INVALIDのエラーが出てしまって戸惑いました。

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2