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

CloudFront中form-data文件上传异常排查:请求未转发至EC2后端

问题分析与解答

CloudFront确实存在与文件上传相关的配置项,你的form-data文件上传请求未转发至EC2后端,大概率是以下几处配置未正确设置导致的:

1. 源请求策略的表单数据转发

你当前使用的Allviewer源请求策略,默认仅转发所有Viewer请求头,但未自动包含表单数据的转发。需要修改源请求策略,确保勾选了**“表单数据(Form Data)”**的转发选项——否则CloudFront会丢弃form-data中的文件内容,无法将完整请求转发至EC2后端。

你可以自定义一个源请求策略,明确配置:

  • 转发所有Viewer请求头(保留Allviewer的原有设置)
  • 勾选转发表单数据中的“全部”或必要字段

2. 请求头的完整性转发

从请求头信息来看,你的请求Content-Type为multipart/form-data,这个头是后端识别form-data请求的关键。需确认源请求策略中包含了Content-Type头的转发——如果该头未被转发,EC2后端无法识别请求类型,可能返回错误的HTML响应。

3. 请求大小限制检查

虽然你的文件小于1MB,但CloudFront允许手动设置最大请求大小限制。可以在CloudFront分发的「限制」标签下,检查**“最大请求大小”**是否设置合理(默认是10GB,足够覆盖你的场景),避免因误设过小值导致请求被拦截。

4. WAF规则拦截排查

如果你的CloudFront分发关联了WAF(Web应用防火墙),需检查WAF规则组中是否存在拦截multipart/form-data类型请求、或限制文件上传的规则。比如部分预设规则会对未知文件类型、特定请求体结构进行拦截,需要针对性调整规则。

5. 自定义源协议策略匹配

对于EC2作为自定义源,需确保CloudFront的「源协议策略」与EC2后端的协议一致:

  • 如果EC2后端仅接受HTTPS请求,需将CloudFront源协议策略设为「HTTPS only」
  • 避免因协议不匹配导致请求失败,返回非预期的HTML响应

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 22:20:00