客户端打算向 Nginx 发送过大的 EB 正文

Tre*_*ood 4 upload nginx amazon-web-services amazon-elastic-beanstalk

我正在尝试增加可上传到服务器的文件的大小。不过,似乎有一个上限,禁止上传任何超过 1MB 的内容。

我读过很多答案,但没有一个对我有用。

我已经完成了这个问题 Stackoverflow 问题中的所有内容

我也在这里做了一切。 AWS资源

这是我的完整错误

2021/01/15 05:08:35 [error] 24140#0: *150 client intended to send too large body: 2695262 bytes, client: [ip-address-removed], server: , request: "PATCH /user HTTP/1.1", host: "host.domain.com", referrer: "host.domain.com"
Run Code Online (Sandbox Code Playgroud)

我已经在此目录中创建了一个文件(位于我的源代码的根目录下)

.ebextensions/nginx/conf.d/myconf.conf
Run Code Online (Sandbox Code Playgroud)

里面我有

client_max_body_size 40M;
Run Code Online (Sandbox Code Playgroud)

我知道 EB 正在承认它,因为如果出现错误,它就不会部署它。除此之外我不知道该做什么

有人知道这里可能有什么问题吗?

编辑:后端是nodejs v12

编辑:还在 .ebextensions 中的 .conf 文件中尝试过此操作

files:
    "/etc/nginx/conf.d/myconf.conf":
        mode: "000755"
        owner: root
        group: root
        content: |
          client_max_body_size 20M;
Run Code Online (Sandbox Code Playgroud)

ane*_*yte 11

更新

Amazon Linux 2 AMI 上的 Beanstalk 对于 NGINX 配置扩展的路径略有不同:

.platform/nginx/conf.d
Run Code Online (Sandbox Code Playgroud)

您可以在那里放置带有*.conf扩展名的 NGINX 配置扩展文件,例如:

.platform/nginx/conf.d/upload_size.conf:

client_max_body_size 20M;
Run Code Online (Sandbox Code Playgroud)

有关此内容的文档位于此处

原答案

Nginx 通常不会从提供内容的位置读取配置。默认情况下,nginx 读取的所有配置都是,/etc/nginx/nginx.conf并且该文件包含扩展名为 .conf 的其他/etc/nginx/conf.d/文件*.conf

你需要放置client_max_body_size 40M;在那里。

  • 你是救世主。否则 AWS Beanstalk 就会杀了我 (2认同)