【Rails6】Herokuでwww(サブドメイン)なしで独自ドメインを登録してwwwなしにリダイレクト

最初に通常通りサブドメインのある(https://www.example.com)ドメインを登録し、そのあとサブドメインなし(https://example.com)でアクセスできるようにするまでの手順を紹介します。

ドメインは、お名前.comを使っており、登録の仕方も説明します。

前提として、既にドメインを持っていてアプリをherokuのhobbyプラン($7のやつ)でデプロイしている事とします。

Herokuにお名前.comのドメインを結びつけ

herokuドメイン登録

まずは、wwwありとなしのドメインを登録します。

また、DNS Targetをコピーしてメモ帳かなんかに保存しておきます。

ACM Statusは、画像では「OK」になっていますが、登録したばかりだと結びつけが完了していないので、赤のエラー表示になっていると思います。

Point DNSの設定

アドオンであるPointDNSを追加します。

PointDNSを使わなくてもドメインの設定自体はできるのですが、後のサブドメインの省略に必要になってくるので入れておきます。

herokuのナビゲーションバーのResourcesを開き、PointDNSと入力して追加します。

PointDNS

追加したアドオンの欄からPointDNSをクリックし、右上のDomainNameに自分のドメイン名を入力し、Addを押して追加します。

ドメイン追加

その後、追加された自分のドメインをクリックしてレコード登録画面を表示します。

CNAMEとALIAS登録

「Add record」からALIASとCNAMEの2つを追加します。

ALIAS

  • Name:wwwなし
  • Data:herokuのwwwなしドメインのDNS Target
  • TTL:60

CNAME

  • Name:wwwあり
  • Data:herokuのwwwありドメインのDNS Target
  • TTL:3600

これでPoint DNSの設定は完了です。

お名前.comのDNSレコード設定

  • ホスト名:wwwあり
  • TYPE:CNAME
  • TTL:3600
  • VALUE:wwwありのheroku DNS Target

お名前.comのネームサーバーの設定

Point DNSのDataを入力します。

お名前.com ネームサーバー

wwwありのドメインからwwwなしに301リダイレクト

config/routes.rb に下記を追加。

match '(*any)', to: redirect(subdomain: ''), via: :all, constraints: {subdomain: 'www'}

完了(wwwなしのドメインでアクセスしてみる)

これにて完了です。

設定が反映されるまで24~72時間くらいかかるので、少し待ちましょう。

僕の場合は、数十分後にwwwなしのドメインでアクセスできるようになりました!

他にもこんな記事があります!