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

AWS CloudFront现有功能迁移至Azure的实现方案咨询(基于Azure AD)

Azure 迁移方案(匹配AWS CloudFront+S3+Cognito现有架构)

核心组件对应关系

AWS组件Azure替代组件
S3存储桶(静态资源)存储账户静态网站托管($web容器)
CloudFront分发Azure CDN
Lambda@Edge(路由)Azure CDN规则引擎/自定义函数
Cognito(身份认证)Azure AD

具体配置步骤

1. 静态资源存储与CDN基础搭建

  • 创建Azure存储账户,启用静态网站托管,将原S3桶内的ui-*文件夹完整上传至存储账户的$web容器,保持原有目录结构不变
  • 创建Azure CDN配置,将源设置为存储账户的静态网站端点,按需配置自定义域名与HTTPS证书

2. 访问控制规则配置

  • 公开访问规则:在CDN规则引擎中创建规则,匹配路径/ui-login/index.html,设置该路径允许匿名访问,跳过任何认证检查
  • 受保护路径规则:创建第二条规则,匹配路径/*,启用Azure AD集成认证,要求用户必须通过Azure AD认证才能访问
  • 403错误重定向:配置CDN错误处理规则,当返回403 Forbidden状态码时,自动重定向至/ui-login/index.html,确保未认证用户直接进入登录页

3. SPA路由映射实现(替代Lambda@Edge)

  • 利用Azure CDN规则引擎的URL重写功能,配置路由映射逻辑:
    • 匹配路径模式/<app>/(如/abc/),将请求重写为/ui-<app>/index.html
    • 针对SPA深层路由(如/abc/detail/123),同样匹配/<app>/*模式,重写为/ui-<app>/index.html,让对应SPA接管前端路由
  • 若需更复杂的路由逻辑,可使用Azure CDN的自定义函数(运行于边缘节点)实现,逻辑与原Lambda@Edge一致

4. Azure AD认证流程适配

  • 在Azure AD中注册SPA类型应用,配置重定向URI为CDN域名下的登录页回调地址(如https://your-cdn-domain/ui-login/index.html)
  • 修改UI代码的认证逻辑:
    • 将原Cognito认证替换为Azure AD的OAuth2.0授权码流(PKCE模式),完成用户身份验证
    • 认证成功后,Azure AD会自动生成会话Cookie,无需手动签名(CDN会自动识别该Cookie并放行受保护路径访问)
    • 登录完成后,跳转回用户最初请求的受保护路径

5. 功能验证

  • 验证公开访问:直接访问/ui-login/index.html,确认无需认证即可加载
  • 验证未认证跳转:访问任意受保护路径(如/abc/),确认自动重定向至登录页
  • 验证认证后访问:登录成功后,确认能正常访问目标SPA及深层路由,路由映射正确
  • 验证错误重定向:触发403场景(如篡改认证Cookie),确认自动跳转至登录页

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 15:28:17