DNS, A 레코드 와일드 카드가보다 구체적인 CNAME보다 우선합니까? 10.10.10.9 우리가 겪고있는 문제는 새로운 호스팅 환경으로

“example.com”에 대한 모든 하위 도메인을 처리하도록 와일드 카드를 설정했습니다

레코드 : * .example.com은 10.10.10.10을 가리 킵니다.

우리는 특별한 하위 도메인을 처리하기 위해보다 구체적인 A 레코드를 가지고 있습니다 (이것은 잘 작동합니다).

레코드 : staging.example.com points 10.10.10.9

우리가 겪고있는 문제는 새로운 호스팅 환경으로 스테이징을 마이그레이션하고 있으며 CNAME을 사용하라는 지시를 받았습니다.

CNAME : new-staging.example.com이 proxy.heroku.com을 가리킴

우리는 이것이 효과가 있다고 생각했습니다. 그러나 new-staging.example.com은 최상위 와일드 카드 10.10.10.10으로 해석되며 proxy.heroku.com을 가리 키지 않습니다.

내가 무엇을 놓치고 있습니까? 이것이 불가능합니까? 아니면 이것이 나쁜 습관입니까? 감사,



답변

대답은 일반적으로 “아니오”입니다.보다 구체적인 기록이 이길 수 있으므로 설명 / 예상대로 작동합니다. 내 생각 엔 와일드 카드 A 레코드가 어딘가에 캐시되어 있고 해당 캐시가 만료 될 때까지 기다려야합니다.

BIND 9.6.2-P2 / FreeBSD 8.1을 사용한 빠른 테스트 :
레코드를 포함하는 영역 :

example.net.                IN      A      127.0.0.2
*.test.example.net.         IN      A      127.0.0.1
specific.test.example.net.  IN      CNAME  example.net.

다음과 같이 해결됩니다.

% dig specific.test.example.net

; <<>> DiG 9.6.2-P2 <<>> specific.test.example.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17222
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;specific.test.example.net. IN  A

;; ANSWER SECTION:
specific.test.example.net. 3600 IN  CNAME   example.net.
example.net.               3600 IN  A   127.0.0.2

;; AUTHORITY SECTION:
example.net.        3600    IN  NS  ns1.example.net.

;; ADDITIONAL SECTION:
ns1.example.net.    3600    IN  A   127.0.0.1

(반환 CNAME)

% dig nonspecific.test.example.net

; <<>> DiG 9.6.2-P2 <<>> nonspecific.test.example.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26980
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;nonspecific.test.example.net.  IN  A

;; ANSWER SECTION:
nonspecific.test.example.net. 3600 IN   A   127.0.0.1

;; AUTHORITY SECTION:
example.net.        3600    IN  NS  ns1.example.net.


;; ADDITIONAL SECTION:
ns1.example.net.    3600    IN  A   127.0.0.1

(와일드 카드 A 레코드를 반환)


답변

질문에 대한 귀하의 의견에 따르면 :

dig -t ANY new-staging.example.com을 실행하면 new-staging.example.com이 나타납니다. 82880 CNAME proxy.heroku.com.example.com. proxy.heroku.com.example.com. 10.10.10.10에서 86400

… DNS를 잘못 구성했습니다. CNAME의 목표를로 설정해야 proxy.heroku.com.합니다. 마지막 기간이 중요합니다! 이것이 없으면 DNS 서버는 사용자가 example.com영역 내의 호스트를 참조하고 있다고 가정 proxy.heroku.com.example.com하고 와일드 카드 레코드에 의해 잡히고 있다고 가정합니다 .


답변

이 게시물이 공유 Plesk Linux 서버에서 어떻게 수행되는지 조사했습니다. 이 예에서는 vhost.conf에 모두 추가하고 DNS를 업데이트해야하는 DNS / vhost.conf 솔루션 조합을 나타냅니다.

견적 : “알파벳순으로 정렬 된 하위 도메인 목록에서 마지막이어야하므로”zz “로 이름을 시작하십시오.
http://kb.parallels.com/2239

내 생각에 이것은 더 구체적인 기록이 반환되는 ‘정상적인’DNS 이론과 다릅니다.


답변