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

Azure DevOps Pipeline推送镜像至ACR时遇HTTP 403解析错误求助

问题:Azure Pipelines推送镜像至ACR时出现403错误(JSON解析异常)

a70b11b076fe: Waiting
3ad1014f96c7: Waiting
bca938d9b956: Waiting
5a48accd2033: Waiting
32ee4143301d: Waiting
c73ad13a1488: Waiting
e85f38974196: Waiting
cc7d774b3dd0: Waiting
f584c095e67e: Waiting
8817f26ab4b2: Waiting
ee4d330edba0: Waiting
f29b9619a031: Waiting
d1692555c73c: Waiting
7bd18c139c73: Waiting
f689d32da261: Waiting
error parsing HTTP 403 response body: unexpected end of JSON input: ""
##[error]error parsing HTTP 403 response body: unexpected end of JSON input: ""
##[error]The process '/usr/bin/docker' failed with exit code 1
Finishing: Push image to registry

此前可正常推送镜像至ACR,近期未做任何变更却触发该403错误,已尝试创建带Contributor权限的新服务主体并配置Azure DevOps服务连接,但问题未解决。


排查与解决建议

  • 检查ACR的网络访问策略:若ACR配置了私有端点或IP白名单,流水线使用Microsoft托管代理时,需临时将ACR设置为允许所有网络访问测试;若为自托管代理,需将代理IP加入ACR白名单。
  • 验证服务主体的权限分配:确认Contributor权限是直接分配到ACR资源本身,而非仅父级资源组,同时检查是否存在拒绝权限策略覆盖了允许权限。
  • 测试服务主体有效性:在本地执行命令az acr login --name <acr-name> --service-principal -u <client-id> -p <client-secret>,验证服务主体能否正常登录ACR,排除凭证错误或过期问题。
  • 检查Docker版本兼容性:在流水线中添加步骤输出Docker版本docker --version,若使用Microsoft托管代理,尝试切换至新版代理(如ubuntu-22.04),避免版本兼容问题。
  • 确认ACR状态与配额:在Azure门户查看ACR的存储配额是否已满,资源是否处于正常运行状态。
  • 校验镜像标签格式:确保推送的镜像标签符合ACR要求(如<acr-name>.azurecr.io/<image-name>:<tag>),无非法字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:15:08