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

为何AWS ALB的301重定向对type=module脚本不生效?

AWS ALB 301重定向对type=module脚本请求失效的问题解答

是否属于设计如此?

这不是AWS ALB的设计限制,问题根源在于浏览器对ES模块脚本请求的特殊处理逻辑。当浏览器加载type=module的脚本时,会先发起OPTIONS预检请求(CORS机制要求),如果你的ALB重定向规则仅匹配GET/HEAD这类常规请求方法,没有覆盖OPTIONS,预检请求就无法触发重定向,浏览器会直接终止后续流程,不会发起实际的GET请求去执行重定向。

解决方法

1. 扩展ALB重定向规则的请求方法覆盖范围

修改ALB的重定向规则,让它匹配包括OPTIONS在内的所有相关请求方法:

  • 登录AWS控制台,进入目标ALB的监听器规则页面
  • 找到你的301重定向规则,点击编辑
  • 在规则条件中,添加"请求方法"条件,选择"匹配以下任意一项",并勾选OPTIONS、GET、HEAD
  • 保持重定向操作的配置(状态码301,目标URL为test2)不变,保存规则

2. 校验CORS配置(跨域场景下)

如果test1和test2属于不同域名,需确保ALB或后端服务返回正确的CORS响应头:

  • 配置Access-Control-Allow-Origin为允许的请求来源(生产环境避免用*)
  • 配置Access-Control-Allow-Methods包含GET、OPTIONS等必要方法
  • 配置Access-Control-Allow-Headers匹配脚本请求携带的头信息

3. 清除浏览器缓存

301是永久重定向,浏览器可能缓存了旧的响应记录,导致测试不生效:

  • 打开浏览器开发者工具(F12),在"网络"面板勾选"禁用缓存",然后刷新页面测试
  • 手动清除浏览器对应域名的缓存数据

内容的提问来源于stack exchange,提问作者Jeff Strauss

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:04:58