ネイキッドドメインでの Heroku アプリケーション エラー

ネイキッドドメインでの Heroku アプリケーション エラー

Herokuアプリにドメインを指定するためのアドバイスをいくつか実行しました。私が言及している投稿は以下にあります。ここそしてここコマンドラインからカスタムドメインをアプリに追加しました

$ heroku domains:add www.myapp.com
$ heroku domains:add myapp.com

そして、Gandi Zonesにこれらの設定を追加しました

@ 300 IN A 174.129.212.2
@ 300 IN A 75.101.145.87
@ 300 IN A 75.101.163.44
imap 300 IN CNAME access.mail.gandi.net.
pop 300 IN CNAME access.mail.gandi.net.
smtp 300 IN CNAME relay.mail.gandi.net.
webmail 300 IN CNAME agent.mail.gandi.net.
www 300 IN CNAME myapp.herokuapp.com.
@ 300 IN MX 50 fb.mail.gandi.net.
@ 300 IN MX 10 spool.mail.gandi.net.

すべて正常に動作します翻訳元、しかし裸の領域で翻訳元:私はアプリケーションエラーHeroku から。

この問題を解決するにはどうすればいいでしょうか?

答え1

DNS プロバイダーが許可している場合は、ネイキッド ドメイン ('@') を CNAME を使用してアプリにエイリアスする必要があります。

@ 300 IN CNAME myname.herokuapp.com.

Cloudflare ではこれが許可されていますが、明らかに仕様外であるため、すべての DNS プロバイダーが許可しているわけではありません。Heroku はこれに依存しています。Heroku IP を A レコードとして使用することは非推奨であり、問​​題を引き起こす可能性があります。

答え2

そんなことはしないでください。DNS 仕様により、CNAME レコードは他の DNS タイプと共存できません。そのため、通常、ルート ドメインでは CNAME は許可されません。

CNAME を使用すると、他の DNS レコードが正しく機能しなくなり、たとえばドメインの MX レコードを構成できなくなり、そのドメインの電子メールを受信できなくなります。

TXT と SPF は無視されるため、電子メールを適切に送信することもできなくなります。

この場合、問題を解決する唯一の方法は次のとおりです。

  1. ルートドメインをwwwホスト名にリダイレクトする(ルートドメインのAレコードをリダイレクトサービスにポイントする)
  2. ルートドメインにCNAMEのような構成を許可するDNSプロバイダーを使用する(ルートドメインにAレコードを動的に解決して割り当てる)
  3. A レコードを、Heroku アプリ名によって返される A レコードの 1 つにポイントします (変更される可能性があるため、推奨されません)。

関連情報