目前每个域名都解析到我的主服务器,primary.example.com
. 例如,如果ping randomdomain123.blah
我得到:
PING primary.example.com` (1.2.3.4) 56(84) bytes of data.
但我期待“找不到主机”错误。
起初我以为是因为我search example.com
的/etc/resolv.conf
. 但是,删除该 ping 后randomdomain123.blah
仍会解析到我的主域。重新启动服务器也没有效果。
我没有在/etc/hosts
.
hostname
从集群中的另一台服务器运行会给出secondary.example.com
.
我使用 Route 53 作为 DNS 提供商,相关的 DNS 似乎是:
example.com. A 1.2.3.4
primary.example.com. A 1.2.3.4
*.primary.example.com. CNAME primary.example.com
*.example.com. CNAME www.example.com
www.example.com. CNAME primary.example.com
那么这是本地网络配置错误还是某些 DNS 问题?(或两者?)
更新:我想要/需要通配符的原因是我运行了这个域的 webapp,所以 customer1.example.com 等需要解析到这台机器并且它需要是自动的 - 所以我想避免更改 DNS每个新客户注册后。
更新2:我/etc/resolv.conf
目前如下(因为我注释掉了搜索行):
### Hetzner Online AG installimage
# nameserver config
nameserver 213.133.99.99
nameserver 213.133.100.100
nameserver 213.133.98.98
nameserver 2a01:4f8:0:a102::add:9999
nameserver 2a01:4f8:0:a0a1::add:1010
nameserver 2a01:4f8:0:a111::add:9898
# search example.com
更新 3:运行dig randomdomain123.blah +trace
给出:
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> randomdomain123.blah +trace
;; global options: +cmd
;; Received 12 bytes from 213.133.99.99#53(213.133.99.99) in 0 ms
更新 4:我可以确认ping randomdomain123.blah.
最后一个点给出:
ping: unknown host randomdomain123.blah.
那么这是否意味着从这台机器上的 Java 应用程序中,我需要附加点并使用类似的 URLhttp://randomdomain123.blah./somepage.html
来生成 HostNotFoundException?
您的问题是与您的记录相结合的
search
字段。您提到您已经尝试删除该设置。但事实证明,从 中省略它并不意味着搜索功能将被关闭。/etc/resolv.conf
*
/etc/resolv.conf
如果设置中不存在,
/etc/resolv.conf
则search
默认为您的主机名中的域。我不知道是否有官方方法可以完全禁用该
search
功能,但这似乎有效:或者,您可以将您
search
的域名指向一个没有*
记录的域,为方便起见,其中可能包含一些其他记录。例如:然后您可以创建诸如
server1.search.example.com
但不是的记录*.search.example.com
。看起来您已经配置了通配符 DNS 记录,即所谓的全部捕获配置:*.example.com 是 www.example.com 的 CNAME,而 www.example.com 又是 primary.example.com 的 CNAME,然后解析为 1.2。 3.4
这不是一个非常明智的设置,另请参阅:http ://en.wikipedia.org/wiki/Wildcard_DNS_record 。