Ответ обычно является "Нет" - более определенная запись должна победить, таким образом, это должно работать, как Вы описывали/ожидали. Мое предположение - Вы, имеют подстановочный знак запись, кэшируемая где-нибудь, и должен ожидать того кэша для истечения.
быстрый тест с 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
(Возвращает подстановочный знак запись),
Согласно Вашему комментарию к вопросу:
когда выполнение роет-t ЛЮБОЙ new-staging.example.com, который мы получаем: new-staging.example.com. 82880 В proxy.heroku.com.example.com CNAME. proxy.heroku.com.example.com. 86400 В 10.10.10.10
... Вы неправильно сконфигурировали DNS. Необходимо поставить цель CNAME к proxy.heroku.com.
- заключительный период важен! Без него Ваш сервер DNS предполагает, что Вы обращаетесь к хосту в Вашем example.com
зона - proxy.heroku.com.example.com
- и это поймано подстановочной записью.
Я наткнулся на этот пост, в котором исследую, как это делается на общем сервере Plesk Linux. В их примере они относятся к комбинированному решению DNS / vhost.conf, в котором вы должны добавить и vhost.conf, и обновить DNS.
Цитата: «Он должен быть последним в списке поддоменов, который отсортирован в алфавитном порядке, поэтому начинайте его имя с« zz ». http://kb.parallels.com/2239
Я предполагаю, что это отличается от «нормальной» теории DNS, согласно которой будет возвращена более конкретная запись.