我想要一个非常短的内部 TLD,go
指向托管 URL 重定向应用程序的 Web 服务器。例如,用户可以输入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 上结果类似)
但是,我尝试过的所有 Web 浏览器都无法正确解析此名称。Chrome、Firefox、Edge 和 IE 都认为此http://go
域名不存在,除非我在地址上添加一个额外的句点 ( http://go.
),这样它才能正确解析。
我已经尝试了基本方法。刷新 DNS、重新启动等。
让此类“裸”顶级域名 (TLD) 可解析的正确方法是什么?这可能吗?
答案1
浏览器在浏览 http://go 时显示“不存在的域”错误,是因为浏览器在主机名后附加了 DNS 后缀(无论是存在后缀,还是浏览器附加了空后缀)。但还是会附加一个。
为了实现您想要做的事情,您需要在 URL 末尾添加 .,以便浏览器将其视为绝对地址,或者配置 DNS 区域(例如 example.internal),将 Web 服务器的主机名设置为 go.example.internal,将 PC 上的 DNS 后缀配置为 example.internal(手动或通过 DHCP),然后您可以浏览到 http://go
或者您可以将主机名“go”添加到需要连接它的每台 PC 的 hosts 文件中。