Androidはワンツーパンチ 三歩進んで二歩下がる

プログラミングやどうでもいい話

お名前.comで取得した独自ドメインをHerokuでSSL対応しました

こんにちは。さくらです。
Web版ポケット糖質量(Railsで作っています。)をhttpのまま放置していたのですが、
やっとhttps対応しました。
https://www.pockettoushituryou.com/

このエントリーは覚書です。

前提

  • お名前.comでドメイン取得が済んでいる
  • Herokuに有料のリポジトリを持っている(私のは月7$のHobbyプランです)

Heroku側の設定

Automated Certificate Management(ACM)という機能を使います。
Automated Certificate Management | Heroku Dev Center

Herokuで独自ドメインに無料で、しかも自動でSSL対応出来る素敵な機能です。

ACMを有効化します。

$ heroku certs:auto:enable

ACMが有効になっているか確認します。

$ heroku certs:auto

私は失敗していました。後述するお名前.com側でのDNS設定をしていなかったからです。
f:id:sakura_bird1:20180317022347p:plain:w300

Heroku からACM設定が失敗したよ、というメールも届きました。

TroubleshootingにDNSターゲットを「 {your-domain}.herokudns.com」という形式で指していなければならないとあります。
https://devcenter.heroku.com/articles/automated-certificate-management#troubleshooting

この設定をお名前.com側で行います。

お名前.com側の設定

お名前.comにログインします。
ドメイン取るならお名前.com【ドメイン取得は最安値1円〜】

ドメイン > ドメイン詳細 > ネームサーバー設定
の画面右上の「ドメイン設定」ボタンをクリックします。

f:id:sakura_bird1:20180317013412p:plain:w300

DNS関連機能の設定をクリックします。

ドメイン一覧からドメインを選択して「次へ進む」ボタンをクリックします。
このような画面が表示されます。

f:id:sakura_bird1:20180317013814p:plain:w300

DNSレコード設定を利用する の右の「設定する」ボタンをクリックします。

DNSレコード設定画面が表示されます。
「A/AAAA/CNAME/MX/NS/TXT/SRV/DSレコード」という欄に設定していきます。

f:id:sakura_bird1:20180317014059p:plain:w300

example.comというドメインを設定する場合

項目 設定値
ホスト名 www
TYPE CNAME
TTL 3600(デフォルト)
VALUE www.example.com.herokudns.com
優先 -
状態 有効

入力したら「追加」ボタンを押します。

f:id:sakura_bird1:20180317015730p:plain

「確認画面へ進む」ボタンを押します。

確認画面が表示されるので、よければ「設定する」ボタンを押します。

[お名前.com]DNSレコード設定 完了通知というメールが届きます。

これで設定完了です。


しばらくしてからHeroku側を更新します。

$ heroku certs:auto:refresh

f:id:sakura_bird1:20180317023531p:plain

状態を確認します。

$ heroku certs:auto

1つしかDNS設定していないので1つ失敗したままですが、StatusがOKになりました。
f:id:sakura_bird1:20180317024037p:plain:w300

私がやった時は変更から10分〜13分ぐらいでHeroku側のSSL対応も完了しました。

対応は以上です。

参考サイト様

Herokuアプリにお名前comで取得したドメインを設定 - americandog1993の日記
ありがとうございました(*‘ω‘ *)

その他

ただ、せっかくSSL対応しましたが、Web版ポケット糖質量は閉鎖するかもしれません。
どうしても手が回らずに放置状態になってしまっているし、ユーザー様はほぼスマホアプリのユーザー様です。
スマホアプリ用にデータ自動更新用のAPIがあるのですが、
当初思っていたよりデータ入力をすることが出来なくてAPIいらないや!となってしまいました。
ついにアプリからAPIにアクセスしないように修正してしまいました。
サーバーサイドの知識も昨年の春から止まっているんですよね。
悔しいからサーバーを借り続けているみたいなもったいない状態です。
本当に思ったようにいかないですね(´;ω;`)