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


16

www.mydomain.comAzure Webサイトを指摘しました。

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

にアクセスするとwww.mydomain.com、すべてが正常に機能します。これはいい。

問題は、mydomain.com機能しないことです。Azureはwwwサブドメインのみを許可します。

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

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


2
ZoneEditには、これを行う「WebForward」があります。
マイケルハンプトン

@MichaelHamptonパーフェクト。使用しました@ | StealthForward | http://www.example.com
ショーンルッティン14年

それは素晴らしいことです。基本的には、私が説明したことを行います(実際のIPを指します。これは、HTTP 300シリーズでwww.domain.comにリダイレクトするだけのWebサーバーです)。
DTK 14年

回答:


17

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

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


8

要約:要するに、あなたは望む記録を手に入れることができず、あなたのDNSホストは正しいことをやっています。

説明:ゾーンの頂点(ゾーンの先頭にある空の名前)にCNAME(エイリアスレコード/フォワードレコード)を持つことは、DNS規格に違反しています。

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

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

例として:

 

$ ORIGIN example.com。

@ IN SOA ns1.example.com。admin@example.com。(
                                 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 123.234.1.127
www in CNAME example.com。

5
IMO:CNAME頂点が機能しない理由を際限なく繰り返すことは価値がありません。ユーザーがなぜ機能しないのかを尋ねた場合、RFC参照を使用してそのための正解が得られます。(完全な開示:私はそれを書きました)彼らがそれについて尋ねないなら、それは言い回されたように質問に答えることに固執するのが最善です。
アンドリューB 14年

ありがとうございました。正規の答えを探すべきでした。次回もそのことを心に留めておきます。
DTK 14年

2

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

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


0

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

www.mydomain.com --- CNAME --- awverify.mydomain.azurewebsites.net
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.