【Azure ACR+App Service】ACR WebHook请求App Service时遇见 401 Unauthorized
  ExOerB7z3frR 2023年11月02日 71 0

问题描述

App Service 支持从ACR中直接拉取镜像,并且可以配置持续部署(Continuous Deployment), 它是通过在ACR中添加一个Webhook,然后发送POST请求到 <your app service name>.scm.chinacloudsites.cn/api/registry/webhook 接口,触发App Service从ACR中 pull 新的image。

【Azure ACR+App Service】ACR WebHook请求App Service时遇见 401 Unauthorized_用户名

但是,为什么会出现401 Unauthorized的情况呢?

 

问题解答

从WebHook配置的URL中发现, ACR 发送请求中使用的请求格式如下:

https://$用户名:密码@<your app service name>.scm.chinacloudsites.cn/api/registry/webhook 

而这种用户名和密码的方式在App Service中是一种 Basic Auth的方式(https://github.com/projectkudu/kudu/wiki/Accessing-the-kudu-service#authentication--authorization)。

【Azure ACR+App Service】ACR WebHook请求App Service时遇见 401 Unauthorized_github_02

当创建App Service资源时,默认已经Disabled Basic Auth。所以无法通过用户名:密码完成认证。

解决办法

在App Service 的配置页面,启用Basic Auth。

【Azure ACR+App Service】ACR WebHook请求App Service时遇见 401 Unauthorized_github_03

回到ACR页面,在Webhook中点击 ping 按钮, 当获得202响应状态,ACR Webhook 工作正常!

【Azure ACR+App Service】ACR WebHook请求App Service时遇见 401 Unauthorized_github_04

 

 

参考资料

App Service Basic Auth : https://github.com/projectkudu/kudu/wiki/Accessing-the-kudu-service#authentication--authorization

为 Azure 应用服务配置部署凭据:https://docs.azure.cn/zh-cn/app-service/deploy-configure-credentials?tabs=cli#disable-basic-authentication

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

ExOerB7z3frR