web-dev-qa-db-ja.com

DNSレコードを使用してルートドメインをwwwサブドメインに転送する

私が持っています www.mydomain.comは、Azure Webサイトを指しています。

www.mydomain.com --- CNAME --- mydomain.azurewebsites.net

私が訪れたときwww.mydomain.com、すべて正常に動作します。これはいい。

問題は、mydomain.comは機能しません。 Azureはwwwサブドメインのみを許可します。

一部のネームサーバーでは、FWDレコードを使用してルートをwwwに転送しますが、これは正常に機能します。現在のネームサーバー(zoneedit.com)には、このFWDレコードがありません。

ルートドメインをwwwサブドメインに転送するために使用できるDNSレコードはありますか?

17
Shaun Luttin

残念ながら、これはDNSプロトコルのよく知られた欠点です。ドメインの頂点にエイリアスを付けることを可能にするDNS標準内で定義されたレコードタイプはありません。多くの人はCNAMEレコードを使用してこれを達成できると想定していますが、 できない技術的な理由があります です。

多くのDNSプロバイダーは、カスタム(読み取り:偽)DNSレコードタイプを実装して、この欠点に対処します。裏でこれらの偽のレコードは、合成されたAレコードとWebサーバーのリダイレクトを組み合わせて使用​​して、その会社のソフトウェアにカスタム動作を実装し、目的の目標を達成します。 FWDはこれらの1つであり、マイケルがコメントで指示したWebForwardによく似ています。

18
Andrew B

概要:つまり、必要なレコードを取得できず、DNSホストが正しい方法で処理を行っています。

説明:ゾーンの頂点(ゾーンの前面にある空の名前)にCNAME(エイリアスレコード/転送レコード)があることは、DNS標準の違反です。

この理由は、CNAMEレコードでは、DNSSecレコード以外のレコードと名前部分を競合させることができないためです。典型的なゾーンでは、ゾーンの頂点にあるCNAMEレコードは、少なくともSOAおよびNSレコード(および他のいくつかのレコード)と衝突します)。これは許可されます。これは悪いことであり、障害の診断が困難になる可能性があります(ゾーンのホスティングを標準準拠のDNSサーバー(BINDベースのものなど)に移動した場合、言うまでもありません)。

ゾーンの頂点にAレコードがある(HTTP 302をwwwにスローするだけの単純なWebサーバーの場合もあります)。 Azureサーバーインスタンスの静的IP番号を取得できる場合は、それぞれのAレコードをゾーンの頂点に配置し、頂点レコードを指す「www」という単一のCNAMEレコードを作成します。

例として:

 
 
 $ Origin example.com。
 
 @ IN SOA ns1.example.com。[email protected]。 (
 101; 
 172800; 
 900; 
 1209600; 
 3600;)
 @ IN NS ns1.example.com。
 @ IN NS ns2.example.com。
 @ IN A 123.234.1.123 
 @ IN A 123.234.1.124 
 @ IN A 123.234.1.125 
 ns1 IN A 123.234.1.126 
 ns2 IN A 123.234.1.127 
 www IN CNAME example.com。 
8
DTK

一部のプロトコルには、サービスを見つけるためのAレコード以外のDNSレコードタイプの標準があります。関連するMXレコードを持つSMTPは、この良い例です。 HTTPに定義されたDNSレコードタイプはありません。以前のDNS /レジストラプロバイダーにHTTPリダイレクトまたはリバースプロキシサービスがあった可能性があります。

目標を達成するには、Webサーバー(仮想ホスト)をセットアップして、あるホスト名から別のホスト名にHTTP 301または302リダイレクトを行うか、リバースHTTPプロキシをセットアップするか、独立した仮想ホストをセットアップするか、仮想ホストエイリアスを使用する必要があります。同じWebサーバーインスタンスが両方のA名に応答します。

2
Joshua Hoblitt

Azureに固有の回答が必要な場合は、このようにawverify.mydomain.azurewebsites.netを指す別のCNAMEレコードを作成する必要があります

www.mydomain.com --- CNAME --- awverify.mydomain.azurewebsites.net
0
Abhishek Siddhu