在 Bind 中设置裸 TLD

在 Bind 中设置裸 TLD

我想要一个非常短的内部 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 文件中。

http://www.dns-sd.org/TrailingDotsInDomainNames.html

相关内容