
Ich habe einige Ratschläge befolgt, um eine Domain auf eine Heroku-App zu verweisen. Die Beiträge, von denen ich spreche, finden Sie hierHierUndHier. Über die Befehlszeile habe ich die benutzerdefinierten Domänen zu meiner App hinzugefügt
$ heroku domains:add www.myapp.com
$ heroku domains:add myapp.com
und dann habe ich diese Konfiguration in meinen Gandi Zones hinzugefügt
@ 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.
Alles funktioniert gut aufhttp://www.myapp.com, aber auf der nackten Domänehttp://myapp.comIch bekomme eineAnwendungsfehlervon Heroku.
Wie kann dieses Problem gelöst werden?
Antwort1
Wenn Ihr DNS-Anbieter dies zulässt, sollten Sie der nackten Domäne („@“) einen CNAME-Alias für Ihre App zuweisen.
@ 300 IN CNAME myname.herokuapp.com.
Cloudflare erlaubt dies, aber nicht alle DNS-Anbieter tun dies, da es anscheinend nicht den Spezifikationen entspricht. Heroku verlässt sich darauf. Die Verwendung der Heroku-IPs als A-Einträge ist veraltet und kann Probleme verursachen.
Antwort2
Tu das nicht.Gemäß den DNS-Spezifikationen kann der CNAME-Eintrag nicht mit anderen DNS-Typen koexistieren. Aus diesem Grund ist CNAME für die Stammdomäne normalerweise nicht zulässig.
Die Verwendung eines CNAME würde dazu führen, dass alle anderen DNS-Einträge nicht richtig funktionieren. So ist es beispielsweise nicht möglich, MX-Einträge für Ihre Domäne zu konfigurieren. Dadurch können Sie keine E-Mails für diese Domäne empfangen.
Sie könnten auch keine E-Mails ordnungsgemäß versenden, da TXT und SPF ignoriert werden.
Die einzige Möglichkeit, das Problem in diesem Fall zu lösen, ist:
- Leiten Sie die Stammdomäne auf den WWW-Hostnamen um (indem Sie den A-Eintrag der Stammdomäne auf einen Umleitungsdienst verweisen).
- Verwenden Sie einen DNS-Anbieter, der eine CNAME-ähnliche Konfiguration für die Stammdomäne zulässt (durch dynamisches Auflösen und Zuweisen von A-Einträgen zu Ihrer Stammdomäne).
- Richten Sie den A-Eintrag auf einen der A-Einträge, die von Ihrem Heroku-App-Namen zurückgegeben werden (nicht empfohlen, da sie sich ändern können).