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

CloudFront-S3架构下Lambda@Edge+Cognito认证子路径访问失败

S3+CloudFront静态网站子路径访问403权限拒绝问题

环境架构

  • 静态网站托管于S3,通过CloudFront分发
  • 使用Cognito实现身份认证
  • 借助Lambda@Edge函数处理登录重定向与JWT令牌验证

认证流程

1. 检查请求是否携带Cookie或查询字符串参数
2. 若两者都无,重定向至Cognito登录页面
3. 用户登录/注册后,Cognito携带授权码(code)重定向回网站
4. 使用授权码生成ID Token,将其设置为Cookie后重定向至网站
5. 通过JWT和.well-known.json验证Cookie有效性(未过期、受众匹配)

问题现象

  • 直接访问根路径(my-website/)、复制根路径URL到新标签页,网站正常加载(状态码200)
  • 点击站内href链接、直接粘贴子路径链接(如my-website/docs/getting-started)时,返回Access Denied(403状态码)
  • 根路径请求会触发Lambda@Edge的重定向逻辑;子路径请求未触发Lambda@Edge,直接返回403

已排查项

  • 已配置Lambda@Edge触发所有Viewer请求
  • 已将认证Cookie的路径设置为根路径(/)

相关截图

  1. 根路径请求成功截图
  2. 子路径请求失败截图
  3. 失败请求的响应头截图
  4. 失败请求的响应头截图

内容的提问来源于stack exchange,提问作者Ashish Purohit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:57:10