네이키드 도메인의 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.

모든 것이 잘 작동합니다http://www.myapp.com, 하지만 네이키드 도메인에서는http://myapp.com나는애플리케이션 오류헤로쿠에서.

이 문제를 해결하는 방법?

답변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. Heroku 앱 이름으로 반환된 A 레코드 중 하나를 A 레코드로 지정합니다(변경될 수 있으므로 권장되지 않음).

관련 정보