DNS kayıtlarını kullanarak kök etki alanını www alt etki alanına iletin


16

www.mydomain.comBir Azure Web Sitesini işaret ettim .

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

Ziyaret ettiğimde www.mydomain.comher şey yolunda gidiyor. Bu iyi.

Sorun, mydomain.comişe yaramıyor. Azure yalnızca www alt etki alanına izin verir.

Bazı ad sunucularında, kökü www'ye iletmek için bir FWD Kaydı kullanıyorum ve bu iyi çalışıyor. Geçerli ad sunucumda (zoneedit.com) bu FWD Kaydı yok.

Kök etki alanını www alt etki alanına iletmek için kullanabileceğimiz bir DNS Kaydı var mı?


2
ZoneEdit bunu yapacak bir "WebForward" a sahiptir.
Michael Hampton

@MichaelHampton Mükemmel. Kullandık@ | StealthForward | http://www.example.com
Shaun Luttin

Bu harika. Aslında tarif ettiğim şeyi yapıyor (gerçek bir IP'yi gösteriyor, bu sadece HTTP 300 serisi ile www.domain.com adresine yönlendiren bir web sunucusudur).
DTK

Yanıtlar:


17

Ne yazık ki, bu DNS protokolünün iyi bilinen bir eksikliğidir. DNS standartlarında, bir etki alanının tepesini takma adınızı kullanmanıza olanak tanıyan bir kayıt türü yoktur. Birçok kişi, CNAMEkayıtların bunu başarmak için kullanılabileceğini varsayar, ancak yapamamalarının teknik nedenleri vardır .

Birçok DNS sağlayıcısı, bu eksikliği gidermek ve çözmek için özel (okuma: sahte) DNS kayıt türlerini uygular. Sahne arkasında, bu sahte kayıtlar A, istenen hedefe ulaşmak için sentezlenmiş kayıtlar ve web sunucusu yeniden yönlendirmesinin bir kombinasyonunu kullanarak o şirketin yazılımında özel davranışlar uygular . FWDbunlardan biri, WebForwardMichael'ın sizi yorumlarda yönlendirdiği gibi .


8

Özet: Kısacası, istediğiniz kayda sahip olamazsınız ve DNS barındırıcınız doğru yolu yapıyor.

Açıklama: Bölge apeksinde (bölgenin önündeki boş ad) CNAME (takma ad kaydı / ileri kayıt) olması DNS standartlarının ihlalidir.

Bunun nedeni, CNAME kaydının DNSSec kaydı dışında herhangi bir kayıtla ad bölümüyle çakışamamasıdır. Tipik bir bölgede, bölge apeksindeki bir CNAME kaydı en azından SOA ve NS kayıtlarıyla (ve muhtemelen diğer birkaç kayıtla) çarpışacaktır. Bazı DNS sunucuları buna izin verirken, bu Kötü Bir Şeydir ve arızaları teşhis etmek zor olabilir (bölgeyi barındırma, BIND tabanlı herhangi bir standart gibi uyumlu bir DNS sunucusuna taşırsanız bahsetmiyorum) .

Ya bölge apeksinde A kayıtları vardır (bunlar sadece HTTP 302'yi www'ye atan basit bir web sunucusu olabilir). Azure sunucusu örnekleriniz için statik IP numaraları alabiliyorsanız, bölgenizin zirvesine her biri için bir A kaydı yerleştirin ve "www" adlı tek bir CNAME kaydı oluşturun.

Örnek olarak :

 

$ ORIGIN example.com.

@ 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 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.

5
IMO: CNAME apekslerinin neden işe yaramadığını sürekli olarak yinelemeye değmez. Kullanıcı neden çalışmadığını sorarsa, bunun için RFC referanslarıyla standart bir cevabımız var . (tam açıklama: yazdım) Eğer sormazlarsa, soruyu cümlecikli olarak cevaplamak en iyisidir.
Andrew B

Teşekkür ederim. Kanonik bir cevap aramalıydım. Bunu bir dahaki sefere aklıma getireceğim.
DTK

2

Bazı protokoller, hizmeti bulmak için A kayıtları dışındaki DNS kayıt türleri için standartlara sahiptir. SMTP ile ilişkili MX kayıtları bunun iyi bir örneğidir. HTTP için tanımlanmış bir DNS kayıt türü yoktur. Önceki DNS / kayıt kuruluşu sağlayıcınızın HTTP yönlendirmesi veya ters proxy hizmeti olması muhtemeldir.

Hedefinize ulaşmak için, bir ana bilgisayar adından diğerine HTTP 301 veya 302 yönlendirmesi yapmak için bir web sunucusu (sanal ana bilgisayar) kurmanız, ters bir HTTP proxy ayarlamanız, bağımsız sanal ana bilgisayarlar kurmanız veya sanal ana bilgisayar takma adları kullanmanız gerekir. aynı web sunucusu örneği her iki A adına da yanıt verir.


0

Azure'a özgü bir yanıt istiyorsanız, awverify.alanadim.azurewebsites.net adresine benzer başka bir CNAME kaydı oluşturmanız gerekir.

www.mydomain.com --- CNAME --- awverify.mydomain.azurewebsites.net
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.