我非常清楚Azure 云服务上可以实现反向 DNS。这不是我要问的。我需要知道使用 Azure 资源管理器时是否可以做到这一点。我在网上查了很多,虽然我发现了一些 (2 年多) 的老问题,但我找不到任何答案。
谢谢!
编辑后:
我可能快要成功了。我现在配置了一个资源组,并给它指定了一个静态 IP。该 IP 是 40.78.157.234。但是,当我对该 IP 进行反向查找时,我只得到以下信息:
我发现本文,它提供了公共 IP 在 JSON 格式中的样例:
我的看起来很像。但我仍然无法进行反向查找。
答案1
为了为 Web 应用程序注册反向 DNS 条目,您需要有一个指向同一订阅内的 IP 地址的正向 DNS 条目。
这只是为了证明您对该域名拥有一定的权限。
如果您需要在创建 Web 应用程序的同时创建反向 DNS 条目,那么您将需要在 Azure 中注册一个临时 IP 地址,以便 Web 应用程序创建过程查找并验证您对该域的所有权。
在这种情况下你可以运行如下命令
$ip = New-AzureRmPublicIpAddress -Name TestIP1 `
-ResourceGroupName $ResourceGroupName `
-Location $location -AllocationMethod Static
然后找到你刚刚注册的 IP 地址,运行
$ip.address
另一方面,如果您已经部署了您的 Web 应用程序,您可以简单地 ping 它,或者运行(更改example
为您的应用程序的实际名称)(如果 Web 应用程序已经在运行,则不需要注册临时地址)
(Resolve-DnsName example.azurewebsites.net).ip4address
无论哪种方式,你都应该得到类似的东西 -
12.34.56.78
然后,您可以将该地址注册为 DNS 中的 A 记录。
然后,您可以在 Azure 中注册反向查找。对于模板,您可以使用
"properties": {
"publicIPAllocationMethod": "Dynamic",
"dnsSettings": {
"domainNameLabel": "[variables('PublicDNS2')]",
"ReverseFqdn": "[concat(parameters('vmName2'), '.', variables('domainname'))]"
}
在 Powershell 中你可以使用
设置 AzureRMWebApp -ResourceGroupName $AppServiceResourceGroupName
-Name $AppServiceWebAppName
-HostNames $reverseName
此时您应该已经配置好了反向 DNS 条目。
如果这是新部署,您需要将指向临时 IP 地址的 DNS 条目指向刚刚部署的 Web 应用。因此,如果您再次运行
(Resolve-DnsName example.azurewebsites.net).ip4address
然后,您可以在 DNS 中注册该 IP 地址,并且您将拥有一个可以正常工作的转发地址。
最后,如果你使用了临时地址,请删除
Remove-AzureRmPublicIpAddress -Name TestIP1 `
-ResourceGroupName $ResourceGroupName -Force
答案2
当您使用 Azure PowerShell 1.x 创建新的公共 IP 时,您应该能够实现这一点。
在 ARM 下创建公共 IP 的 cmdlet 是新 AzureRmPublicIpAddress。这包括可用于设置 FQDN 的“-ReverseFqdn”开关。
如果使用 ARM 模板,则财产要设置的是:properties -> dnsSettings -> reverseFqdn
。
免责声明:我在 MS 加拿大的 Azure 现场团队工作。