
URL リダイレクト アプリをホストしている Web サーバーを指す非常に短い内部 TLD を設定したいと考えていますgo
。たとえば、ユーザーは正確な URL を覚えていなくてもgo/chat
、または を入力できます。go/news
次のようにゾーン ファイルを使用して内部 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 サフィックスが追加されているためです (DNS サフィックスが存在するか、ブラウザが null サフィックスを追加しているかに関係なく)。それでも、DNS サフィックスは追加されます。
目的を達成するには、URL の末尾に . を追加してブラウザが絶対アドレスとして認識するようにするか、DNS ゾーン (例: example.internal) を構成し、Web サーバーのホスト名を go.example.internal に設定し、PC の DNS サフィックスを example.internal (手動または DHCP 経由) に設定して、http://go を参照する必要があります。
または、接続する必要があるすべての PC の hosts ファイルにホスト名「go」を追加することもできます。