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

AWS Elastic Beanstalk部署ASP.NET遇413请求实体过大问题求助

解决AWS Elastic Beanstalk部署ASP.NET时的413 Request Entity Too Large错误

问题背景

部署ASP.NET应用到Elastic Beanstalk时遇到413 request entity too large错误,尝试两种方案均存在问题:

  • 在应用根目录的.ebextensions/nginx/conf.d/proxy.conf中添加client_max_body_size 100M;,部署时触发CloudFormation错误:

    1/18/2023 11:59:22 AM Service:AmazonCloudFormation, Message:[/Resources/AWSEBAutoScalingGroup/Metadata/AWS::CloudFormation::Init/prebuild_0_RisksessAML/files//etc/nginx/conf.d/proxy.conf] 'null' values are not allowed in templates

  • 通过SSH修改/etc/nginx/nginx.conf添加配置后生效,但每次重新部署代码,该文件会被替换,配置丢失

正确解决方案

根据Elastic Beanstalk的环境版本,选择对应的配置方式:

针对Amazon Linux 1环境

  1. 在应用根目录创建.ebextensions文件夹
  2. 在该文件夹下新建01-nginx-max-body-size.config文件,写入以下YAML配置:
files:
  "/etc/nginx/conf.d/proxy.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      client_max_body_size 100M;

该配置会在部署时自动生成指定的nginx配置文件,避免CloudFormation解析时出现null值错误。

针对Amazon Linux 2环境

Amazon Linux 2对nginx配置结构做了调整,直接使用.platform目录即可:

  1. 在应用根目录创建.platform/nginx/conf.d文件夹
  2. 在该文件夹下新建proxy.conf文件,写入内容:
client_max_body_size 100M;

部署时Elastic Beanstalk会自动加载该目录下的配置文件,无需额外YAML定义,且配置不会被部署覆盖。

方案说明

  • 第一种方案失败原因:直接在.ebextensions下嵌套nginx配置文件,未通过YAML配置定义文件内容,导致CloudFormation无法正确识别文件数据,抛出null值错误
  • 第二种方案失效原因:直接修改系统默认配置文件,Elastic Beanstalk每次部署会重新生成环境配置,自定义修改会被覆盖,必须通过部署包中的配置文件固化设置

内容的提问来源于stack exchange,提问作者muh.rafay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:35:27