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

使用Angular HttpClient上传视频至AWS生产服务器遇net::ERR_CONNECTION_RESET错误

解决Angular HttpClient在AWS生产环境无法上传MP4的问题

这种情况我之前帮不少开发者排查过,net::ERR_CONNECTION_RESET本质是连接在传输过程中被主动中断了,结合你仅MP4上传失败的现象,大概率是AWS端的配置限制在“搞鬼”,咱们一步步来定位解决:

1. 优先检查AWS负载均衡(ALB/ELB)的超时设置

MP4文件通常比图片、音频、PDF大很多,AWS负载均衡默认的**空闲超时(Idle Timeout)**是60秒,如果MP4上传耗时超过这个时间,负载均衡会主动断开连接,就会出现你看到的错误。

解决步骤:

  • 登录AWS控制台,找到你的ALB/ELB实例
  • 进入「属性」页面,修改「空闲超时」为300秒(5分钟)甚至更长,根据你最大的MP4文件大小调整
  • 保存设置后重新测试MP4上传

2. 验证API Gateway的Payload大小限制

如果你的上传请求经过AWS API Gateway,它默认允许的最大Payload是10MB,大部分MP4文件都会超过这个阈值,直接触发连接中断。

解决步骤:

  • 打开API Gateway控制台,找到对应的API
  • 进入「设置」页面,找到「Maximum payload size」选项,调整到你需要的大小(最大支持10GB)
  • 同时要确保后端服务(比如ECS、Lambda)也配置了对应的文件大小限制,避免后端截断请求

3. 检查服务器反向代理(Nginx/Apache)的配置

如果你的AWS服务器上部署了Nginx或Apache作为反向代理,它们也有默认的文件上传大小和超时限制,MP4超标就会被强制断开连接。

Nginx配置调整:

在Nginx的站点配置文件里添加或修改以下参数:

client_max_body_size 100M;  # 允许100MB的文件上传
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;

修改后重启Nginx:sudo systemctl restart nginx

Apache配置调整:

在Apache的配置文件(比如httpd.conf或站点.conf)里添加:

LimitRequestBody 104857600  # 100MB(单位是字节)
Timeout 300

重启Apache生效:sudo systemctl restart httpd

4. 排查AWS WAF的拦截规则

AWS WAF可能配置了针对请求大小或特定文件类型的拦截规则,不小心把MP4的上传请求给阻断了,导致连接重置。

解决步骤:

  • 进入AWS WAF控制台,找到关联你的应用的Web ACL
  • 检查所有规则,看看有没有「限制请求大小」或「拦截特定文件扩展名」的规则
  • 可以临时禁用可疑规则,测试MP4是否能正常上传,确认后调整规则放行MP4格式

5. 微调Angular HttpClient的请求配置

虽然开发环境没问题,但生产环境网络延迟更高,前端请求超时设置太短也可能导致主动断开连接,或者检查MP4的请求头是否正确。

在你的上传请求里添加超时设置,并确保Content-Type正确:

import { HttpClient, HttpHeaders } from '@angular/common/http';

// 示例上传代码
const uploadFile = (file: File) => {
  const formData = new FormData();
  formData.append('file', file);
  
  const headers = new HttpHeaders({
    // 不要手动设置Content-Type为multipart/form-data,浏览器会自动处理边界
    'Accept': '*/*'
  });
  
  return this.http.post('/api/upload', formData, {
    headers: headers,
    timeout: 300000,  // 设置5分钟超时
    reportProgress: true
  });
};

6. 检查服务器磁盘空间与文件权限

极端情况:AWS服务器的磁盘空间不足,或者MP4上传的目标目录没有写入权限,服务器会主动断开连接。

解决步骤:

  • 登录服务器,用df -h命令检查磁盘剩余空间
  • 用ls -l /path/to/upload/dir查看目标目录的权限,确保运行后端服务的用户有写入权限

总结

先从负载均衡超时和API Gateway payload限制入手,这两个是AWS环境下大文件上传最常见的问题。你可以先传一个几MB的小MP4测试,如果能成功,基本可以锁定是超时或大小限制的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:36:18