1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【Render × Xserver】独自ドメインでのデプロイ時の注意点と解決策

Last updated at Posted at 2024-07-10

はじめに

本記事では、「Render」にデプロイしたアプリを独自ドメインで公開する際の注意点と解決策についてまとめます。今回は、「お名前.com」でのドメイン取得ができなかったため、以前契約していた「Xserver」を利用しました。

この記事が皆さんのお役に立てば嬉しいです!

前提/条件

  • rails7系
  • ruby3.2.3
  • PostgreSQLを使用
  • Renderでデプロイ済み
  • Xserverでドメイン取得される方

注意点

XserverでDNSレコード画面で「DNSレコードの確認・設定を行うことができません」表示

Xserver-error.png

DNSレコードの表示ができるようにネームサーバーで設定します。

解決方法

1.「ネームサーバー設定」をクリックします。

nameserver.png

2.ネームサーバーの設定ドメイン適用先サービスを「Xserver Domain」に設定します。

Xserver-domain.png

これで、DNSレコードの設定ができるようになります。

デプロイ後エラー

Renderにてダッシュボード→SettingsCustom Domainsの設定とconfig/environments/production.rbの設定完了後にデプロイしたところ、以下のエラーが発生しました。

スクリーンショット 2024-07-10 19.36.24.png

また、Renderのログを確認したところ下記のようなエラーが発生していることを確認しました。

Renderログ
[ActionDispatch::HostAuthorization::DefaultResponseApp] Blocked hosts: アプリURL

また、Renderでは問題なく反映されていました。

スクリーンショット 2024-07-10 19.58.47.png

このときの設定は以下の通りです。

config/environments/production.rb
config.hosts << 'www.example.net'

解決策

1.記述を変更

config/environments/production.rb
config.hosts << 'example.net'

RenderのデフォルトのURLも有効にしておきたい場合は、以下のように設定します。

config/environments/production.rb
config.hosts << 'example.net'
config.hosts << 'example.onrender.com'

2.、XserverのデフォルトのNSを削除

1で解決しなかった場合は、XserverのデフォルトのNSを削除することも検討してください。

スクリーンショット 2024-07-10 20.03.27.png

詳細は、Renderの公式ドキュメントを参照してください。

ちなみに私は公式の案内に従って削除しました。config/environments/production.rbの記述を変える前に消してしまいましたが、もし記述を変えるだけで解消できるのであれば、NSの削除は不要かもしれません。

確認すると良さそうな実装

パスワードリセット機能

メール内のリンクURLを確認します。

config>environments>production.rb
config.action_mailer.default_url_options = { host: '取得ドメイン名', protocol: 'https' }

Google認証

GoogleのOAuth設定でリダイレクトURIが新しいドメインに更新されているか確認します。環境変数または設定ファイルを更新してください。

私の場合、環境変数で設定していたため、以下のファイルを書き直しました。

config>settings>production.yml
sorcery:
  google_callback_url: 'https://取得ドメイン名/oauth/callback?provider=google'

default_url_options:
  protcol: 'https'
  host: '取得ドメイン名'

そしてGoogle Cloud ConsoleのURIも追加します。

スクリーンショット 2024-07-11 7.08.55.png

おわりに

この記事が、RenderとXserverでドメイン取得と公開に苦戦されている方のお役に立てれば幸いです。もし、この記事の内容に不備や改善点などがありましたら、ご指摘いただけると嬉しいです。

参考

Render」と「お名前.com」で公開するのに参考

Render」と「Xserver」で公開するのに参考

Render公式サイトより独自ドメイン実装で参考

1
0
0

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?