我有www.mydomain.com指向一个Azure网站。
www.mydomain.com --- CNAME --- mydomain.azurewebsites.net
当我访问www.mydomain.com ,一切正常。 这很好。
问题是, mydomain.com不起作用。 Azure只允许www子域名。
在一些域名服务器上,我使用FWDlogging将根目录转发到www,并且工作正常。 我目前的名字服务器(zoneedit.com)没有这个FWDlogging。
有没有一个DNSlogging,我们可以用来转发根域到www子域?
不幸的是,这是DNS协议的一个众所周知的缺点。 在DNS标准中没有定义loggingtypes,这将允许您别名域的顶点。 许多人认为CNAMElogging可以用来实现这一点,但有技术上的原因,他们不能 。
许多DNS提供商实施自定义(读取:假的)DNSloggingtypes来试图解决这个缺点。 在幕后,这些虚假logging使用合成的Alogging和Web服务器redirect的组合来实现该公司软件中的自定义行为,以实现您所期望的目标。 FWD就是其中之一,就像迈克尔在评论中指引你的WebForward一样。
总结:总之,你不能拥有你想要的logging,而你的DNS主机正在做正确的事情。
说明:在区域顶点(区域前面的空名称)有一个CNAME(别名logging/转发logging),这违反了DNS的标准。
这是因为CNAMElogging不能将名称部分与DNSSeclogging以外的任何logging冲突。 在典型的区域中,区域顶点处的CNAMElogging至less与SOA和NSlogging(以及其他几个)相冲突。 虽然一些DNS服务器会允许这样做,但这是一件坏事,并且可能导致难以诊断故障(更不用说,如果将区域的托pipe移动到符合标准的DNS服务器(如任何基于BIND的服务器)将不起作用) 。
要么在区域顶点有一个logging(他们可以是一个简单的Web服务器,只是抛出一个HTTP 302到WWW)。 如果您可以获取Azure服务器实例的静态IP地址,请为您的区域的顶点放置一条Alogging,然后创build一个名为“www”的CNAMElogging,指向顶点logging。
举个例子 :
$ 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 123.234.1.123 @ IN 123.234.1.124 @ IN 123.234.1.125 ns1 IN A 123.234.1.126 ns2 IN A 123.234.1.127 www CNAME example.com。
一些协议具有DNSloggingtypes的标准,除了Alogging外,用于查找服务。 SMTP及其关联的MXlogging就是一个很好的例子。 HTTP没有定义的DNSloggingtypes。 您以前的DNS /注册服务商提供商可能有HTTPredirect或反向代理服务。
为了实现您的目标,您需要设置一个web服务器(虚拟主机)来执行从一个主机名到另一个主机名的HTTP 301或302redirect,设置反向HTTP代理,设置独立虚拟主机或使用虚拟主机别名相同的Web服务器实例将响应这两个名称。