ドメインがHerokuアプリを指すように、いくつかのアドバイスに従いました。私が話している投稿は ここ と ここ で見つけることができます。コマンドラインから、カスタムドメインをアプリに追加しました
$ heroku domains:add www.myapp.com
$ heroku domains:add myapp.com
次に、これらの構成をGandiゾーンに追加しました
@ 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.
http://www.myapp.comではすべて正常に動作しますが、ネイキッドドメインではhttp://myapp.com = Herokuからアプリケーションエラーが発生します。
この問題を解決する方法は?
DNSプロバイダーで許可されている場合は、ネイキッドドメイン(「@」)をCNAMEでアプリにエイリアスする必要があります。
@ 300 IN CNAME myname.herokuapp.com.
Cloudflareはこれを許可しますが、明らかに仕様外であるため、すべてのDNSプロバイダーが許可しているわけではありません。 Herokuはそれに依存しています。 Heroku IPをAレコードとして使用することは非推奨であり、問題が発生する可能性があります。
そうしないでください。 DNS仕様により、CNAMEレコードは他のDNSタイプと共存できません。これが、CNAMEが通常ルートドメインで許可されていない理由です。
CNAMEを使用すると、他のDNSレコードが正しく機能しなくなります。ただし、たとえば、ドメインのMXレコードを構成して、そのドメインの電子メールを受信できなくなる可能性があります。
TXTおよびSPFは無視されるため、電子メールを適切に送信することもできません。
この場合の問題を解決する唯一の方法は次のとおりです。