LoginSignup
172
179

More than 5 years have passed since last update.

【完全無料】Herokuで独自ドメイン + HTTPSに対応する【Rails】

Last updated at Posted at 2017-07-21

前置き

「heroku ssl 無料」とかで、ググると

  • SSLの使用量は無料
  • Let's encryptを使えば無料
  • ただし、paid dynoを使う必要あり

みたいな記事が多いと思いますが、 完全無料独自ドメイン + HTTPSに対応する方法を見つけたので、共有しておきます。

環境

  • お名前.comでドメインを取得済み
  • herokuのアプリはデプロイ済み

を想定して書いています。

Cloudflareを使う

Cloudflare という文字を見て、「ああ、それかよ」ってなった方は、この記事を読む意味はないと思われます。
cloudflare

CloudflareはCDNとして有名っぽいのですが、SSLのサービスも提供しています。

仕様イメージ

クライアント(PC)からCloudflareを踏んで、Herokuに流しています。
image.png

手順

1. https://www.cloudflare.com にアクセスしてアカウントを作る

2. ドメインを入力する

image.png

3. CNAMEとかを設定する

ここでは、herokuのapp名をexample、取得したドメインもexampleの画像です。適宜読み替えてください。
image.png

4. Planをfreeに

image.png

5. DNSを変える

image.png

最後のところでDNSをこれにしろって言われるので変える。
お名前.comにログインして、サイドバーからネームサーバーの変更を選ぶ。
image.png

変更したいドメインにチェック入れて、さっき指定されたドメインを設定しておく。
image.png

(*画像では一致してないが、本当は一致させる)

6. アプリケーションをSSLに対応させる

Railsを使っていたので、production.rb の force_ssl を true にして、Herokuにpushする。

# config/environments/production.rb
...
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
  config.force_ssl = true
...

7. cryptタブからsslをfullにする

image.png

8. 一日待つ(重要)

結構時間がかかるみたいで、設定してから1日ぐらいかかると思っておいた方がいいと思わます。
全然反映されなくて、焦るけど、とりあえず忘れて、1日過ごすのが吉。

1日待って、https://example.com を叩いてみても、herokuに向いてなかったら、何かがおかしい気がする。
頑張ってdigとか使って調査してみてください。

172
179
3

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
  3. You can use dark theme
What you can do with signing up
172
179