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

启用专用终结点的Azure Function App ZIP部署遇网关错误求助

排查启用专用终结点的Azure Function App ZIP部署问题

针对你遇到的网关超时、SCM站点无法连接等问题,以下是可能遗漏的关键配置项:

1. 未为SCM(Kudu)站点启用专用终结点

Function App的主站点和SCM部署站点是独立资源,仅为主站点配置专用终结点无法让SCM站点通过私有网络访问。你需要:

  • 为Function App的SCM站点单独创建专用终结点,关联到InboundSubnet
  • 在对应的专用DNS区域(privatelink.azurewebsites.net)中添加SCM站点的A记录,将demo-funcapp-test.scm.privatelink.azurewebsites.net映射到SCM专用终结点的私有IP

2. 出站子网NSG规则未覆盖部署所需流量

VNET集成的OutboundSubnet需要允许以下出站流量:

  • 访问Azure存储服务标签(Storage.<region>):确保Function App宿主能从公共存储账户拉取ZIP包
  • 访问Microsoft.Web服务标签(Microsoft.Web.<region>):部署过程中需要与Azure管理平面通信
  • 访问Azure Active Directory服务标签(AzureActiveDirectory):用于身份验证和授权操作
  • 若使用自定义DNS,需允许出站到DNS服务器的53端口(UDP/TCP)

3. 专用DNS区域与VNET的关联及解析配置不全

  • 确认privatelink.azurewebsites.net(Function App/SCM)和privatelink.core.windows.net(存储账户)两个专用DNS区域都已关联到你的VNET
  • 检查VNET的DNS服务器配置:如果使用Azure专用DNS,需将VNET的DNS服务器设置为Azure默认DNS(或自定义DNS服务器能解析专用链接记录),避免出现getaddrinfo解析失败

4. 发布流水线环境无VNET访问权限

由于Function App和SCM站点已禁用公网访问,公网环境的流水线无法连接到SCM部署端点:

  • 将发布流水线的执行环境(如Azure DevOps代理)部署到VNET内,或通过VPN/Express Route让流水线环境接入VNET
  • 若使用Azure DevOps云代理,需为代理所在的IP段添加NSG入站规则,允许访问InboundSubnet的443端口(SCM站点的HTTPS端口)

5. Function App应用设置缺失关键配置

  • 添加WEBSITE_VNET_ROUTE_ALL=1:强制所有出站流量通过VNET集成子网,避免部署时部分流量走公网被阻断
  • 添加WEBSITE_DNS_SERVER:设置为VNET的DNS服务器地址,确保Function App能正确解析专用链接域名

6. 公共存储账户的访问权限配置

如果部署时通过Function App宿主拉取ZIP包:

  • 确保公共存储账户的容器权限设置为"匿名读取",或为Function App配置带有读取权限的SAS令牌,并在部署脚本中使用该令牌
  • 检查OutboundSubnet的NSG规则是否允许出站到该公共存储账户的IP范围或存储服务标签

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:32:50