AWS Application Load Balancer监听器是否支持基于路径路由到S3存储桶?
问题确认
AWS Application Load Balancer(ALB)完全支持基于路径的路由重定向到S3存储桶,你遇到的跳转丢失文件路径问题是重定向规则配置遗漏了动态路径拼接逻辑。
配置错误原因
你当前的重定向规则仅设置了固定跳转到https://my-example-bucket.s3.us-west-1.amazonaws.com/test,没有将请求路径中/test/后的动态文件部分同步拼接到目标地址。
正确配置方法
- 进入ALB对应监听器的规则编辑页面,修改
/test路径的重定向规则:- 路径匹配规则调整为
/test/*,覆盖所有/test/前缀的子路径请求 - 重定向目标域名填写
my-example-bucket.s3.us-west-1.amazonaws.com,协议、端口保持原有配置即可 - 路径项选择自定义,填入
/test/#{path:2}:#{path:2}是ALB内置的路径变量,会自动提取原请求路径中第2段之后的所有内容(即/test/后面的test1.txt这类文件名) - 调试阶段建议选择302临时重定向,确认规则生效后可改为301永久重定向
- 路径匹配规则调整为
- 额外校验项:
- S3存储桶桶策略需要开放
/test路径下资源的公网访问权限,或允许ALB服务主体访问该路径,否则跳转后会返回403错误 - 如果S3开启了静态网站托管,也可使用静态网站域名作为重定向目标域名
- S3存储桶桶策略需要开放
效果验证
配置完成后访问https://www.my-site.com/test/test1.txt,会自动跳转到https://my-example-bucket.s3.us-west-1.amazonaws.com/test/test1.txt,可正常访问对应文件。
内容的提问来源于stack exchange,提问作者user2650480
相关产品推荐
相关产品推荐

