【Rails7】独自ドメインをRenderで設定する手順まとめ
要約
本稿では、Render に独自ドメインを適用するための DNS 設定手順を解説します。
以下の Render 公式ドキュメントを参考に進めます。
環境情報
- OS:Mac
- プログラミング言語:Ruby 3.3.6
- フレームワーク:Rails 7.2.2
- アプリケーションサーバー:Render(デプロイ済み)
- データベース:PostgreSQL
- ドメイン:お名前.com にて独自ドメイン取得済み
設定手順
Render公式のやり方に従って進めていきます。
1. Render 側の設定
Renderダッシュボードで独自ドメインを追加
- Renderのダッシュボードから独自のドメインを設定したいサービスを選択します。
- サービスの[Settings]のページを開き、独自ドメインのセクションまでスクロールダウンします。
Custom Domainsのスクリーンショット
- セクション内の「Add Custom Domain」ボタンを押し、自分の取得したドメインを入力して「Save」します。
独自ドメインの入力例
- 「Save」を押した後の画面で独自ドメインがリストに表示されます。
この後、DNS 設定に必要な A レコードの IP アドレス や CNAME のターゲット が表示されるので控えておいてください。
独自ドメイン確認画面
2. お名前.com 側の設定(DNS レコード変更)
お名前.com の DNS 設定を変更
まず、取得したドメインの詳細ページにアクセスし、お名前.comの管理画面から「DNSレコード設定」に移動します。
「ネームサーバー情報」セクションの「ドメイン」項目の「設定」を押します。
ドメイン詳細画面
↓
DNS設定を変更したいドメインを選択し、「次へ」を押します。
DNS設定ドメイン選択画面
↓
項目「DNSレコード設定を利用する」の「設定する」ボタンを押します。
DNS設定画面
↓
画面遷移後、スクロールダウンしAレコードとCNAMEレコードの設定を追加していきます。
A レコードの追加(ルートドメイン用)
以下の情報を入力して保存してください。
先ほどのRenderの設定画面で控えた数字の方を記入し追加します。
ホスト名 | TYPE(種類) | VALUE(内容) |
---|---|---|
空欄 | A | RenderのIPv4アドレス |
Aレコード追加例スクリーンショット
www
付きドメイン用)
CNAME レコードの追加(以下の情報を入力して保存してください。
先ほどのRenderの設定画面で控えたURLの方を記入し追加します。
www
付きのドメインでもアクセスできるようにCNAMEレコードを追加します。
ホスト名 | TYPE(種類) | VALUE(内容) |
---|---|---|
www |
CNAME | example.onrender.com |
また*
(ワイルドカード)で設定することで、様々なサブドメインへの柔軟性を持たせることができますが、今回はセキュリティの観点から必要なサブドメイン(www
)のみを明示的に指定します。
CNAMEレコード追加例スクリーンショット
↓
設定を追加後画面下部で「確認画面へ進む」をクリックします。
↓
「設定する」をクリックします。
3. Rails 側の設定
config/environments/production.rb
を編集
デフォルトではRailsは不正なホストからのリクエストを防ぐため、許可されていないドメインでのアクセスを拒否します。そのため、独自ドメインをホワイトリストに追加します。
Rails.application.configure do
config.hosts << "example.com" # 独自ドメイン
config.hosts << "www.example.com" # サブドメイン
end
もしくは
Rails.application.configure do
config.hosts = [
"example.com", # 独自ドメイン
"www.example.com" # サブドメイン
]
end
↓
編集が終わったら、Gitに変更を反映させ、Renderにデプロイします。
4. Render 側でドメインを検証
- ドメインの取得後、再びRenderのダッシュボードから独自ドメインを設定したいサービスの「Custom Domains」設定に戻ります。
ドメイン名確認画面
- 独自ドメインの横に表示されている「Verify」ボタンを押します。
- 検証に成功した場合、以下のような画面になります。また、Renderは登録したドメインのTLS証明書を発行し、検証ステータスを更新します。
検証済みのドメイン確認画面
この時「Certificate pending」になる場合、私の場合は数分待機していると「Certificate Issued」に変化しました。 - ブラウザで独自ドメインにアクセスしてみてください。
よくあるエラーについて
- 「502 Bad Gateway」エラーが表示される場合は、Renderがサービスのルーティングルールを更新中の可能性があります。数分待ってからもう一度お試しください。
- Renderは自動でSSL証明書(Let's Encrypt)を発行しますが、ドメイン設定に問題があると証明書の更新ができないことがあります。その場合は、Renderのダッシュボードから「Custom Domains」を確認してください。
最後に
お疲れ様でした。
Renderで独自ドメインを設定するための作業については以上になります。
参考情報
公式ドキュメント
技術記事
- 【Qiita】Renderで独自ドメインを設定する
- 【Zenn】Render.comでデプロイしたwebアプリケーションに独自ドメインを当てる
- 【Rails】renderで独自ドメインを公開する手順
- RenderでのDNS設定方法
関連書籍 📚
- イラスト図解式 この一冊で全部わかるWeb技術の基本
Discussion