zde*_*nis 21 domain-name-system cname-record
我们设置了一个通配符来处理“example.com”的所有子域
记录:*.example.com 指向 10.10.10.10
我们有一个更具体的 A 记录来处理特殊的子域(这很好用):
A 记录:staging.example.com 点数 10.10.10.9
我们遇到的问题是我们正在迁移到新的托管环境,并且我们已被指示使用 CNAME:
CNAME:new-staging.example.com 指向 proxy.heroku.com
我们认为这会奏效。但是,new-staging.example.com 解析为顶级通配符 10.10.10.10 并且不指向 proxy.heroku.com。
我错过了什么?这不可能吗?或者这是不好的做法?谢谢,
vor*_*aq7 18
答案通常是“否”——更具体的记录应该获胜,所以这应该像你描述/预期的那样工作。我的猜测是您将通配符 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.
Run Code Online (Sandbox Code Playgroud)
解决如下:
% 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
Run Code Online (Sandbox Code Playgroud)
(返回 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
Run Code Online (Sandbox Code Playgroud)
(返回通配符 A 记录)
根据你对这个问题的评论:
当运行 dig -t ANY new-staging.example.com 我们得到:new-staging.example.com。82880 在 CNAME proxy.heroku.com.example.com 中。proxy.heroku.com.example.com。86400 中 10.10.10.10
...您的 DNS 配置错误。您需要将 CNAME 的目标设置为proxy.heroku.com.
- 最后一段很重要!没有它,您的 DNS 服务器会假设您指的是您所在example.com
区域内的主机proxy.heroku.com.example.com
- 而通配符记录会捕获该主机。
归档时间: |
|
查看次数: |
19379 次 |
最近记录: |