我想要一个非常短的内部 TLD go
,指向托管 URL 重定向应用程序的网络服务器。例如,用户可以键入go/chat
或go/news
无需记住确切的 URL 是什么。
我已经使用区域文件设置了我的内部 DNS 服务器,如下所示:
$ttl 3600
go. IN SOA localhost. dns.company.corp. (
1597456469
3600
600
1209600
3600 )
go. IN NS localhost.
@ IN A 10.0.88.10
在使用 的 Windows 主机nslookup
上,这似乎可以正常工作:
>nslookup go
Server: dns1
Address: 10.0.40.10
Non-authoritative answer:
Name: go
Address: 10.0.88.10
(在 Linux 上也有类似的结果)
但是,我尝试过的任何网络浏览器都无法正确解析此名称。Chrome、Firefox、Edge 和 IE 都表现得好像这个http://go
域名不存在,也就是说,除非我在地址 ( http://go.
) 上包含一个额外的句点,它可以正确解析。
我已经尝试了基础知识。刷新DNS,重新启动等。
允许这样的“裸”TLD 可解析的正确方法是什么?这甚至可能吗?
您的浏览器在浏览到 http://go 时显示“不存在的域”错误的原因是它们在主机名后附加了 DNS 后缀(无论是存在,还是浏览器附加了一个空后缀)。一个仍然被附加。
要实现您想要做的,您需要添加 . 到 URL 的末尾,因此浏览器将其视为绝对地址或配置 DNS 区域,例如 example.internal,将 Web 服务器的主机名设置为 go.example.internal,将 PC 上的 DNS 后缀配置为 example.internal (手动或通过 DHCP),然后您可以浏览到 http://go
或者,您可以将主机名“go”添加到需要连接到它的每台 PC 的主机文件中。
http://www.dns-sd.org/TrailingDotsInDomainNames.html