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

Azure ACR至App Service容器应用Webhook调用401未授权问题排查

解决ACR Webhook调用App Service SCM端点返回401未授权问题

以下是针对该问题的核心排查与修复步骤:

1. 检查SCM认证模式

进入App Service的配置 > 常规设置,确认SCM类型设置为基本。如果设为仅Azure AD或禁用,ACR的Webhook使用基础认证调用时必然返回401。若需保留Azure AD认证,需为ACR配置Azure AD服务主体并使用令牌认证,但基础认证是更简洁的方案。

2. 验证发布凭据有效性

ACR Webhook必须使用App Service的发布凭据(而非管理员账号或其他凭证)。你可以在App Service的部署中心 > FTPS凭据页面获取或重置这些凭据。
手动验证凭据:

curl -u <发布用户名>:<发布密码> https://<你的应用名>.scm.azurewebsites.net/docker/hook

返回200 OK则凭据有效;若仍401,重置凭据后重新配置Webhook。

3. 检查IP访问限制

查看App Service的网络 > 访问限制,确保ACR的出站IP地址被允许访问SCM站点。ACR的出站IP可在ACR概述 > 属性中找到。若启用了访问限制,需将ACR的IP范围加入允许列表,也可勾选"允许Azure服务访问"以避免IP变更带来的问题。

4. 确认Webhook端点格式

ACR中配置的Webhook端点必须是标准的SCM Docker钩子地址:https://<你的应用名>.scm.azurewebsites.net/docker/hook,务必包含.scm子域名,不要添加多余路径。

5. 排查Kudu站点状态

访问https://<你的应用名>.scm.azurewebsites.net,用发布凭据登录,确认Kudu站点正常运行。如果登录失败,说明SCM基础认证确实故障,尝试重启App Service后再测试。

6. 核对ACR Webhook认证配置

在ACR的Webhook设置中,确认服务URI的认证方式选择基本,并正确填入发布用户名和密码。若选了无,会直接触发401错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 02:11:06