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

Amazon Linux 2版Elastic Beanstalk .NET Core项目Nginx配置扩展方法

Amazon Linux 2 版本Elastic Beanstalk调整Nginx请求体大小配置指南

你当前配置不生效的核心原因有两个:

  • 配置放置的层级不对,.NET Core平台默认Nginx配置中client_max_body_size定义在server块内,你放在http层级的conf.d配置会被server块的默认值覆盖
  • .NET Core项目执行dotnet publish时默认不会把根目录的.platform文件夹复制到发布输出目录,很多时候配置文件根本没被打包进部署包,EB自然加载不到

推荐配置方案(无版本兼容风险)

按如下结构在项目根目录创建文件夹和配置文件:

|-- .platform
    `-- nginx
        `-- conf.d
            `-- elasticbeanstalk
                `-- server.conf

在server.conf中写入你需要的配置,数值按需调整:

client_max_body_size 100M;

注意:打包部署前,一定要确认.platform文件夹存在于部署压缩包的根目录,和你发布后的.NET Core程序入口dll在同一层级,不要放在项目源码子目录里。


备选方案(部署脚本动态修改)

如果不想调整配置目录结构,也可以通过部署钩子直接修改默认Nginx配置:

  1. 在项目根目录创建如下结构:
    |-- .platform
        `-- hooks
            `-- predeploy
                `-- set_body_size.sh
    
  2. 脚本内容如下,数值按需修改:
    #!/bin/bash
    sed -i 's/client_max_body_size 1M;/client_max_body_size 100M;/g' /etc/nginx/nginx.conf
    
  3. 本地执行命令给脚本加可执行权限,避免部署时报权限错误:
    chmod +x .platform/hooks/predeploy/set_body_size.sh
    

配置校验方式

部署完成后可以通过两种方式确认配置生效:

  • 登录实例执行nginx -T,全局搜索client_max_body_size,确认最终加载的参数值为你设置的数值
  • 测试上传大于默认1M的文件,确认不再返回413 Request Entity Too Large错误

避坑提示:不要直接覆盖整个/etc/nginx/nginx.conf主配置文件,后续Elastic Beanstalk平台版本更新可能调整默认Nginx配置结构,全量覆盖容易导致Nginx启动失败,增量修改的方式兼容性最好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 21:57:22