You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Azure DNS实现通配符CNAME记录的后缀替换解析?

解决方案:在Azure DNS Zones实现子域名后缀替换解析

针对你需要将*.domain1.com解析到对应前缀的*.domain2.com的需求,由于DNS原生不支持CNAME记录指向通配符目标,以下是几种在Azure生态内的可行方案:

方案1:批量自动化创建单个CNAME记录

如果你的子域名前缀数量可控或有规律,直接批量生成对应CNAME记录是最直接的方式。可以用Azure CLI、PowerShell或Azure Automation实现自动化操作:

PowerShell示例

# 定义需要映射的子域名前缀列表
$prefixes = @("abc", "pqr", "xyz")
$zoneName = "domain1.com"
$targetDomain = "domain2.com"
$resourceGroup = "你的资源组名称"

foreach ($prefix in $prefixes) {
    $recordName = $prefix
    $targetFqdn = "$prefix.$targetDomain."  # 注意末尾的点号是FQDN的标准格式
    # 创建CNAME记录集并添加记录
    New-AzDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup `
        -RecordType CNAME -Ttl 3600 `
        -DnsRecords (New-AzDnsRecordConfig -Cname $targetFqdn)
}

Azure CLI示例

prefixes=("abc" "pqr" "xyz")
zone_name="domain1.com"
resource_group="你的资源组名称"
target_domain="domain2.com"

for prefix in "${prefixes[@]}"; do
    # 创建CNAME记录集
    az network dns record-set cname create --name $prefix --zone-name $zone_name --resource-group $resource_group --ttl 3600
    # 添加CNAME记录
    az network dns record-set cname add-record --record-set-name $prefix --zone-name $zone_name --resource-group $resource_group --cname "$prefix.$target_domain."
done

优点:配置简单,无需额外服务开销;缺点:无法自动处理新增的未知子域名。

方案2:使用Azure Front Door实现动态后缀替换

如果需要支持任意未知子域名的自动映射,可以借助Azure Front Door的路由规则:

  1. 创建Azure Front Door实例,添加自定义域名*.domain1.com并完成域名验证
  2. 在Front Door的路由规则中,配置转发路由:
    • 匹配路径:/*
    • 转发目标:设置为{host-name}.domain2.com(Front Door会自动提取请求域名的前缀部分,替换后缀)
  3. 在Azure DNS Zones中,为*.domain1.com创建别名记录,指向Front Door的默认FQDN(类似xxx.azurefd.net)

这样当用户访问abc.domain1.com时,DNS解析指向Front Door,Front Door会将请求转发到abc.domain2.com,实现后缀替换效果。

优点:支持任意子域名自动映射,自带CDN和高可用;缺点:需要额外支付Front Door的服务费用。

方案3:部署自定义Bind DNS服务器

如果需要完全自定义DNS解析逻辑,可以在Azure VM上部署Bind DNS服务器,利用Bind的通配符变量特性:

  1. 在Azure上创建一台Linux VM,安装Bind9服务
  2. 配置domain1.com的zone文件,添加如下记录:
$ORIGIN domain1.com.
*       IN      CNAME   %1.domain2.com.

这里的%1会自动提取通配符匹配到的子域名前缀(比如abc),拼接成abc.domain2.com
3. 将domain1.com的域名注册商DNS服务器地址修改为这台Azure VM的公网IP

优点:完全自定义解析逻辑,支持任意子域名;缺点:需要自行维护VM和Bind服务,承担运维成本。

内容的提问来源于stack exchange,提问作者Aman Singhal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:06:45