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

如何在Azure中为现有App Service配置自定义子域名并指向关联服务?

嘿,我来帮你搞定这个Azure子域名配置的问题,先给你理清楚正确的实现步骤,再说说怎么排查没生效的情况:

一、实现子域名转发到目标App Service的正确步骤

要让api.appservice1.azurewebsites.net指向apiappservice2的API,核心是DNS解析+目标App Service的域名绑定,缺一不可:

  • 先确认目标App Service的权限支持
    首先得保证apiappservice2的定价层是Basic及以上(Free层不允许绑定自定义域名),如果是Free层,先升级到符合要求的层级。

  • 在目标App Service上完成域名绑定
    这是很多人容易漏掉的关键步骤:

    1. 打开Azure门户,进入apiappservice2的管理页面
    2. 左侧菜单选择「自定义域名」,点击「添加自定义域名」
    3. 输入要绑定的子域名api.appservice1.azurewebsites.net
    4. 按照页面提示生成所有权验证记录(通常是TXT或CNAME),把这条记录添加到appservice1对应的DNS Zone里
    5. 等待几分钟后点击「验证」,验证通过后完成绑定操作
  • 配置DNS Zone的CNAME记录
    在appservice1的DNS Zone中添加一条CNAME记录:

    • 名称:api
    • 类型:CNAME
    • 值:apiappservice2.azurewebsites.net
    • TTL保持默认3600即可(如果想快速生效可以设短一点,比如300)
二、配置未生效的故障排查方案

如果配置后几天都没生效,按照下面的步骤逐一排查:

  • 检查域名绑定状态
    回到apiappservice2的「自定义域名」页面,确认api.appservice1.azurewebsites.net的状态是「已绑定+已验证」。如果显示验证失败,重新生成验证记录并准确添加到DNS Zone,等待10-15分钟后重试验证。

  • 验证DNS记录是否真的生效
    用本地命令行工具测试解析结果:

    • Windows:打开命令提示符,执行 nslookup api.appservice1.azurewebsites.net,查看返回的CNAME是否指向apiappservice2.azurewebsites.net
    • macOS/Linux:终端执行 dig api.appservice1.azurewebsites.net CNAME,检查输出的CNAME值是否正确
      如果解析结果不对,要么是DNS记录配置有误(比如名称写错、值填错),要么是TTL缓存还没过期(等够时间或者清空本地DNS缓存试试)
  • 检查SSL证书(如果用HTTPS访问)
    如果你需要通过HTTPS访问子域名,必须在apiappservice2上为该域名绑定SSL证书:

    1. 在「自定义域名」页面找到绑定的子域名,点击「添加SSL绑定」
    2. 可以选择Azure提供的免费Managed证书(需要先为该域名申请),或者上传自己的证书
      没有绑定证书的话,HTTPS访问会报错,看起来就像配置没生效
  • 排查应用内部的重定向逻辑
    检查apiappservice2的应用代码或配置文件(比如web.config、nginx.conf),有没有强制重定向到原域名apiappservice2.azurewebsites.net的规则,如果有,需要修改这些规则允许子域名访问

  • 确认DNS Zone的关联关系
    检查appservice1的DNS Zone是否正确关联到了对应的域名,确保你添加记录的Zone是Azure用来解析appservice1.azurewebsites.net的那个Zone

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 15:32:37