Azure DNS服务中的域名转发

时间:2015-12-31 15:31:59

标签: powershell azure dns

我正在将Azure DNS用于已迁移到hubspot的网站。我已经从www.mydomain.com创建了一个CNAME记录到hubspot托管的网站。如this document

中所述

我希望将Apex域名mydomain.com重定向到hubspot托管网站。但是我没有hubspot IP地址只有CNAME端点。如何在没有IP地址的情况下将mydomain.com重定向到hubspot域。

1 个答案:

答案 0 :(得分:1)

您遇到的问题是rules of DNS的问题,该问题禁止存在另一条记录的CNAME记录。裸地址(或Apex)example.com已经有两条记录(SOA和NS),因此不允许使用CNAME。

  

如果节点上存在CNAME RR,则不应该有其他数据   当下;这可以确保规范名称及其别名的数据   不可能是不同的。此规则还可确保缓存的CNAME可以   使用时不使用权威服务器检查其他RR类型。

要创建Apex记录,例如example.com,您需要使用A记录,这意味着它需要指向Azure网站的IP。完成后,您可以创建从www到example.com的CNAME。 (这是受支持的方法 - 您的Azure网站的IP地址是静态的)

您正在寻找的命令,就像

$rs = New-AzureRmDnsRecordSet -Name "@" -RecordType A `
       -ZoneName example.com -ResourceGroupName $RG `
       -Ttl $ttl -Force -Overwrite
Add-AzureRmDnsRecordConfig -RecordSet $rs -Ipv4Address $IPAddress
Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite

然后

$rs = New-AzureRmDnsRecordSet -Name "www" -RecordType "CNAME" `
      -ZoneName "something.com" -ResourceGroupName "DNSRecords" `
      -Ttl 60 -Overwrite -Force
Add-AzureRmDnsRecordConfig -RecordSet $rs -Cname "example.com"
Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite

如果您没有IP地址指向您的顶点A记录,那么您唯一的解决方案是使用将为您提供HTTP重定向的IP地址。

我能想到的最简单的方法是创建一个小的Azure Web App并使用该IP地址发送HTTP status 301 Moved Permanently标头。这会对服务器造成微不足道的负担,因为它实际上不会为任何页面提供服务。

另一种方法是切换到提供顶级CNAME的DNS提供商(或至少提供类似功能的解决方法)

search结束时还有一些HTTP重定向服务(包括免费和付费)(但我从未使用过任何这些服务,所以我无法对质量发表评论!)