client_max_body_size 在 Nginx conf 中,但似乎被忽略了

client_max_body_size is in Nginx conf but seems to be getting ignored

我 运行 进入状态代码 413 请求实体太大 。我是 运行 AWS Elastic Beanstalk 上的一个 Amazon Linux 2 AMI 实例,它是 运行 一个 express server with a post 路由将文件上传到 S3 存储桶,然后将一些数据添加到 table 并生成一条 kafka 消息。文件小于 1MB 时一切正常。

我知道 nginx 的默认最大大小值为 1MB,我必须更改它。

我尝试了这个线程中的每个答案 Increasing client_max_body_size in Nginx conf on AWS Elastic Beanstalk 但是尽管得到了 client_max_body_size 10M; nginx.conf 文件,并在每次更改配置时重新启动 nginx,使用 nginx -t 查看语法是否有任何错误,导致一切正常 ok,最后证明通过这个命令 client_max_body_size 10M; 行实际上在那里,当它指责文件中有它的副本时,每当我尝试 post 一个大于 1MB 的文件时,所有这些配置似乎都被我的微服务完全忽略了。

我手动添加了 client_max_body_size 10M; 以表明,在测试时,nginx 告诉我它是重复的,证明它已经包含在 nginx.conf文件

我还尝试将我的 conf 文件放在 .platform/conf.d/ 结构中,这确实使 client_max_body_size 10M; 进入 nginx.conf 文件,但它仍然对我的请求没有影响。

我也试过重新加载和重启nginx服务,都没有用。

我不知道从哪里开始。有什么建议吗?

您提供的 link 是亚马逊 Linux 1 (AL1)。现在所有的EB平台都是基于AL2,nginx设置differently。即,您应该在应用程序的根目录中创建 .platform/nginx/conf.d/myconfig.conf 文件,内容为:

client_max_body_size 10M;