Azure容器注册表(ACR) Webhook调用App Service返回405方法不允许问题问询
问题定位说明
405 Method Not Allowed 属于HTTP方法不匹配错误,和镜像拉取权限没有直接关联,权限问题通常返回401/403错误,你可以优先按以下方向排查:
排查步骤
1. 优先排查Webhook接收端点配置
- 确认你的Web Service对应Webhook接收接口是否支持
POST方法:Azure Container Registry触发Webhook时默认使用POST方法传递事件载荷,若你的接口仅开放GET、PUT等其他方法,会直接返回405 - 若接口配置了跨域规则,检查是否放行
OPTIONS方法:跨域场景下ACR会先发送OPTIONS预检请求,接口未支持该方法也会触发405错误
2. 方法配置无误后再验证镜像拉取权限
如果你解决405问题后出现镜像拉取失败的情况,可按以下步骤配置权限:
- 进入ACR的「访问控制(IAM)」页面,查看Web Service关联的托管身份/服务主体是否被分配了
AcrPull角色 - 若未配置对应身份,你可以为Web Service启用系统托管身份,或创建专用服务主体,绑定
AcrPull角色即可满足拉取镜像的权限要求
快速验证方法
你可以通过curl命令手动模拟ACR的Webhook请求,快速定位问题:
curl -v -X POST <替换为你的Webhook接收端点地址>
如果手动发送POST请求也返回405,直接调整接口支持的HTTP方法即可。
内容的提问来源于stack exchange,提问作者Didier Jean Charles
相关产品推荐
相关产品推荐

