【Azure App Service】为什么 Azure Web App 禁用公网后 Advanced Tools 会失效?

问题描述

在一次 Azure Web App 的使用过程中,遇到一个并不直观、但在实际生产环境中很容易遇到的问题:Web App 本身运行正常,但在 Azure Portal 中点击 Advanced Tools(Kudu)时,页面却无法访问。

报错页面如下:

应用可以正常对外提供服务,但用于诊断和排障的 Advanced Tools 却无法打开。那么,这个问题究竟是如何产生的?

问题解答

从表面现象来看,第一时间很容易联想到以下几种可能性:

  1. Advanced Tools 服务异常
  2. Azure 平台工具问题
  3. Portal 的偶发性故障

然而,在对 Web App 的配置进行检查后发现,这些直觉判断都并非问题的根源。问题并不在 Azure 平台或 Web App 本身,而是与 Azure App Service 的网络访问模型有关。

一个经常被忽略的事实:

Advanced Tools(Kudu)并不等同于主 Web App 站点,它有自己独立的访问入口和网络规则。

在这个问题中,Web App 配置了网络访问限制,公共网络访问已被禁用。然而,Advanced Tools 实际上运行在一个独立的站点(SCM / Advanced Tools Endpoint)。当网络策略中没有为kudu站点单独放行时,请求会在网络层被直接阻断,最终表现为 Advanced Tools 页面无法访问。

查看Web App的网络配置,可见Advanced tool site的配置为Deny, 并且沿用了主站点的规则( Use main site rules)

这也正是问题产生的关键原因。当为 Kudu(Advanced Tools site)单独配置合适的网络访问规则后,Advanced Tools 站点即可恢复正常访问。

参考资料

Azure 应用服务访问限制:https://docs.azure.cn/zh-cn/app-service/overview-access-restrictions

相关推荐
wuyk55517 小时前
PyQt6-第10讲-PDF工具箱
python·microsoft·pdf·pyqt
zhongben123_18 小时前
从零开发一个打车APP:技术选型、系统架构与成本评估指南
大数据·运维·ios·系统架构·uni-app·web app
鬼手点金21 小时前
缓存作为架构约束
开发语言·前端·人工智能·python·microsoft·缓存·架构
Vic.Tang21 小时前
一次元数据管理项目投标后,我对 Microsoft Purview的初识一
microsoft·purview
Keith Guo1 天前
What does device twin mean in azure cloud?
azure·iot
贾伟康2 天前
【共创稿事节】第一张服务卡片:2×2 今日菜谱的克制设计
microsoft·harmonyos·arkts·鸿蒙
Shell运维手记2 天前
Shell 结构化命令知识点总结(case、for、while)
运维·microsoft·shell·脚本
2501_944525762 天前
开源鸿蒙平台 KMP_CMP 三方库「Atrium」适配全流程
microsoft·开源·harmonyos
zhongben123_2 天前
从0到1开发一款生鲜配送APP:核心技术难点与架构避坑指南
大数据·运维·人工智能·ios·架构·web app
zhongben_keji2 天前
批发商城APP怎么做:价格引擎、授信台账与资金合规的设计要点
ios·小程序·web app