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

Azure App Service配置连接本地Artifactory问题求助

Azure App Service 无法通过VNet集成连接本地Artifactory拉取镜像问题排查

问题概述

需配置Azure App Service连接本地Artifactory,已完成Deployment Center配置、启用VNet Integration接入可访问本地环境的虚拟网络,但同子网内VM可正常拉取镜像,App Service却失败。

已完成配置

  • 完成Deployment Center配置(URL和镜像名称已修改)
  • 启用VNet Integration,将App Service接入可访问本地环境的虚拟网络
  • 设置应用设置WEBSITE_PULL_IMAGE_OVER_VNET为True

错误日志

2023-08-07T07:35:20.683Z INFO - Attempting to pull image *URL_ARTIFACTORY_ONPREMIES/IMAGE_NAME*:latest from VNET. 
2023-08-07T07:35:52.219Z ERROR - Image pull for *URL_ARTIFACTORY_ONPREMIES/IMAGE_NAME*:latest failed. UnexpectedFaliure 
2023-08-07T07:35:52.221Z ERROR - Pulling docker image *URL_ARTIFACTORY_ONPREMIES/IMAGE_NAME*:latest over VNET failed. 
2023-08-07T07:35:52.222Z WARN - Image pull failed. Defaulting to local copy if present. 
2023-08-07T07:35:52.906Z ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)

疑问

App Service默认是否通过公网IP发起出站流量?


排查思路与建议

关于出站流量默认路径的说明

App Service默认出站流量通过Azure数据中心的公网IP发起,仅当配置Regional VNet Integration并配合WEBSITE_PULL_IMAGE_OVER_VNET等应用设置时,镜像拉取这类特定流量才会走VNet路由。

具体排查步骤

  1. 验证VNet集成配置有效性

    • 确认使用的是Regional VNet Integration(Gateway VNet Integration不支持镜像拉取走VNet)
    • 检查App Service所在子网是否开启Microsoft.Web/serverFarms服务端点,同时确认子网的NSG和路由表未限制出站到本地Artifactory的端口(通常为443,自定义端口需对应开放)
  2. 测试网络连通性与路由

    • 在同子网VM上执行tracert <Artifactory地址>或nc -zv <Artifactory地址> <端口>记录路由;通过App Service的Kudu控制台执行curl -v <Artifactory地址>,对比两者的连通结果与路由路径
    • 查看Artifactory访问日志,确认是否收到App Service的请求,是否存在拒绝记录
  3. 检查镜像拉取凭证

    • 确认Deployment Center中配置的Artifactory凭证(用户名/密码或访问令牌)正确,且具备对应镜像仓库的拉取权限
    • 核对App Service应用设置中的DOCKER_REGISTRY_SERVER_USERNAME和DOCKER_REGISTRY_SERVER_PASSWORD,确保与Deployment Center配置一致且未过期
  4. 确认WEBSITE_PULL_IMAGE_OVER_VNET生效

    • 重启App Service实例,确保该应用设置已加载生效
    • 通过Azure Monitor或Diagnostic Settings启用App Service网络日志,查看镜像拉取请求的出站IP是否属于VNet子网范围,而非公网IP
  5. 排查DNS解析问题

    • 若本地Artifactory使用私有域名,需确认VNet的DNS服务器已配置对应域名解析,或在App Service应用设置中添加WEBSITE_DNS_SERVER指定自定义DNS服务器
    • 在Kudu控制台执行nslookup <Artifactory域名>,验证解析结果是否为本地Artifactory的私有IP

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 07:16:21