私が持っています 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レコードはありますか?
残念ながら、これはDNSプロトコルのよく知られた欠点です。ドメインの頂点にエイリアスを付けることを可能にするDNS標準内で定義されたレコードタイプはありません。多くの人はCNAME
レコードを使用してこれを達成できると想定していますが、 できない技術的な理由があります です。
多くのDNSプロバイダーは、カスタム(読み取り:偽)DNSレコードタイプを実装して、この欠点に対処します。裏でこれらの偽のレコードは、合成されたA
レコードとWebサーバーのリダイレクトを組み合わせて使用して、その会社のソフトウェアにカスタム動作を実装し、目的の目標を達成します。 FWD
はこれらの1つであり、マイケルがコメントで指示したWebForward
によく似ています。
概要:つまり、必要なレコードを取得できず、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。
一部のプロトコルには、サービスを見つけるためのAレコード以外のDNSレコードタイプの標準があります。関連するMXレコードを持つSMTPは、この良い例です。 HTTPに定義されたDNSレコードタイプはありません。以前のDNS /レジストラプロバイダーにHTTPリダイレクトまたはリバースプロキシサービスがあった可能性があります。
目標を達成するには、Webサーバー(仮想ホスト)をセットアップして、あるホスト名から別のホスト名にHTTP 301または302リダイレクトを行うか、リバースHTTPプロキシをセットアップするか、独立した仮想ホストをセットアップするか、仮想ホストエイリアスを使用する必要があります。同じWebサーバーインスタンスが両方のA名に応答します。
Azureに固有の回答が必要な場合は、このようにawverify.mydomain.azurewebsites.netを指す別のCNAMEレコードを作成する必要があります
www.mydomain.com --- CNAME --- awverify.mydomain.azurewebsites.net