今天当我检查我的网站的登台域名实际指向的时候,我感到震惊。 我假设了域或我们的公司networking的一些马虎的configuration,我的舞台域以某种方式指向生产服务器。
所以我inputhost http://stage.***.com ,得到了212. ##。##。70 => Booom,生产服务器。 之后,我尝试了host stage.***.com并拿到了212#### 73 =>呃,这个登台服务器
所以,我的问题是:怎么会发生这种情况,不小心将“http://”粘贴到命令行中会使“主机”返回另一个IP地址?
编辑:由于它似乎不清楚我在问什么,我试图澄清:正如斯文在他的评论中指出,
host http://stage.***.com
不应该返回任何东西,但在我的情况下,它会返回
http://stage.***.com has address 212.##.##.70
这实际上是***。com(生产)的知识产权所以我想知道这是如何发生的。
顺便说一句,我在Ubuntu 16.10。 客户
EDIT2:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> http://stage.***.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26978 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 5 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;http://stage.***.com. IN A ;; ANSWER SECTION: http://stage.***.com. 180 IN A 212.48.122.70 ;; AUTHORITY SECTION: ***.com. 65 IN NS auth2.###.de. ***.com. 65 IN NS auth1.###.de. ;; ADDITIONAL SECTION: auth1.###.de. 180 IN A 212.##.##.53 auth1.###.de. 180 IN AAAA 2a00:####:##:##::2 auth2.###.de. 180 IN A 212.##.##.53 auth2.###.de. 180 IN AAAA 2a00:####:##:##::2
嗯。 我想“http://”部分被认为是域的一部分,我们的DNSconfiguration说*。***。com有###。70 (所以我们有一个通配符用于任何不是阶段的东西….)
你必须为你的域名有一个通配符才能发生(你应该删除它)
假设你有一个区域,下面的结果应该是一样的
区域文件:
example.com IN A 192.0.2.5 *.example.com IN A 192.0.2.0 www.example.com IN A 192.0.2.10
主机命令输出:
host http://a.example.com http://a.example.com has address 192.0.2.0 host http://www.example.com http://www.example.com has address 192.0.2.0 host www.example.com www.example.com has address 192.0.2.10
正如你所看到的, www匹配www一个logging, http://www匹配通配符
顶点logging不匹配*,因为它不是一个子域。
host http://example.com http://example.com not found: 3(NXDOMAIN
总是会出现NXDomain,这与缺less任何字符+有关.
我检查了查询日志,是的,查询实际上是http://a.example.com和匹配*.example.com 。
通配符是一个可怕的,尽可能避免他们!
*.*.*.*.example.com vs *.example.com ) *传播不是一件事情,但它通常用来描述第三方刷新caching的时间。
完全删除“http://”,因为这不是FQDN的一部分。