AKS托管Web应用内外网暴露及Azure AD认证方案咨询
故障根因说明
Azure API Gateway核心定位是REST API流量的鉴权、限流、协议转换,默认配置不会透传原始Host头,路径重写规则默认截断路由前缀,也没有针对Web页面静态资源的路径适配逻辑。你遇到的首页可正常加载、css/js等资源全部请求失败的问题,本质是静态资源相对路径被重写后和后端实际路径不匹配,加上Host头不一致导致后端返回的资源地址错误,这类Web页面暴露场景本来就不适合用API Gateway作为流量入口。
首选落地方案(基于现有AGIC部署,改造成本最低)
你已经部署了Application Gateway Ingress Controller,不需要额外引入新的网关组件,直接基于现有AGIC即可实现内外网双入口暴露+Azure AD认证:
- 双入口流量配置
在AKS集群中创建两个独立的Ingress资源,共用同一个后端工作负载Service,不需要重复部署应用:- 内网Ingress添加注解
appgw.ingress.kubernetes.io/use-private-ip: "true",绑定Application Gateway的私网前端IP,对接内网DNS供组织内部用户访问 - 公网Ingress绑定Application Gateway的公网前端IP,配置公网域名解析供外部用户访问
两个Ingress都添加注解appgw.ingress.kubernetes.io/backend-hostname: "你的实际访问域名",透传原始Host头到后端,同时关闭针对静态资源路径的前缀重写规则,css、js、图片等路径直接全透传,即可解决静态资源加载失败的问题。
- 内网Ingress添加注解
- Azure AD认证集成
直接使用Application Gateway原生的Azure AD OIDC认证能力,不需要修改应用业务代码:- 提前在Azure AD中注册应用,配置回调地址为
https://你的访问域名/.auth/login/aad/callback - 在Application Gateway对应的公网、内网监听器上开启身份认证,关联已创建的Azure AD应用注册,指定租户范围为组织内部租户,禁止外部个人账号访问
- 配置认证规则时,将静态资源路径(
/static/*、/*.css、/*.js、/favicon.ico)加入匿名访问白名单,避免静态资源请求被拦截跳转到登录页导致页面加载异常 - 公网监听器可以额外关联Azure AD条件访问策略,要求访问用户完成MFA验证、使用合规设备,进一步提升公网访问安全性
认证完成后Application Gateway会自动把用户身份信息(用户UPN、所属组ID等)通过请求头透传给后端服务,直接在应用中读取请求头即可做细粒度权限控制,不需要单独在代码中集成Azure AD SDK。
- 提前在Azure AD中注册应用,配置回调地址为
可选进阶方案(适合多应用统一入口、有全球访问需求的场景)
如果后续需要统一托管多个Web/API应用、对公网跨区域访问延迟有更高要求,可以采用Azure Front Door + 内部Application Gateway的架构:
- 公网流量先接入Azure Front Door,通过Private Link对接AKS集群内部的Application Gateway私网IP作为源站,利用Front Door的边缘节点缓存静态资源,降低源站负载同时提升全球用户访问速度,公网侧的WAF防护、Azure AD认证、流量调度都可以在Front Door层统一配置
- 内网流量直接走Application Gateway私网IP,绑定内网DNS供组织内部访问,和公网入口共用后端AKS工作负载
- 该架构下公网不会直接暴露AKS侧的源站IP,安全性更高,同时支持多区域部署的流量自动切换,故障切换延迟在秒级。
关键配置避坑点
- 如果你需要给应用配置二级路径访问(比如
https://域名/app1),除了在Ingress中配置路径路由规则,必须同步修改前端应用构建时的publicPath参数为/app1/,保证静态资源的引用路径和路由规则匹配,否则依然会出现静态资源404问题 - 不要在入口层对WebSocket、gRPC这类长连接请求使用默认的30秒超时配置,Application Gateway和Front Door都支持单独给长连接配置最长30分钟的超时时间
- 内外网入口可以配置独立的WAF规则:内网入口可以调低WAF拦截等级,减少办公网正常请求被误拦截的概率;公网入口开启OWASP核心规则集,拦截SQL注入、XSS等常见Web攻击请求。
内容的提问来源于stack exchange,提问作者Pankaj Kapare
相关产品推荐
相关产品推荐

