【问题标题】:client_max_body_size is in Nginx conf but seems to be getting ignoredclient_max_body_size 在 Nginx conf 中,但似乎被忽略了
【发布时间】:2022-01-23 05:36:41
【问题描述】:

我遇到了状态代码 413 Request Entity Too Large。我在 AWS 的 Elastic Beanstalk 上运行一个 Amazon Linux 2 AMI 实例,该实例正在运行一个 express 服务器,它的 post 路由将文件上传到 S3 存储桶,然后两者都添加一些数据到一个表并产生一个kafka消息。对于小于 1MB 的文件,一切正常。

我了解 nginx 的默认 max-size 值为 1MB,我必须更改它。

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

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

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

我也试过重新加载和重启nginx服务,都无济于事。

我对从这里开始的地方没有太多想法。有什么建议吗?

【问题讨论】:

  • 进展如何?仍然不清楚你能做什么?

标签: node.js amazon-web-services express nginx amazon-elastic-beanstalk


【解决方案1】:

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

client_max_body_size 10M;

【讨论】:

  • 我也尝试过这种 .platform 方式,如果我没记错的话,在我发送的线程的答案之一中也有这种方式。正如我所说,nginx.conf 文件最终通过“.platform...”方法将 client_max_body_size 10M 添加到自身,但是当我'我提出我的要求,413 仍然显示
  • @MatheusCiappinaPereira 如果它在那里,那就是它。如果它不起作用,那么您可能在某处进行了一些其他更改。就client_max_body_size和nginx而言,没有其他事情可做。
猜你喜欢
  • 2012-02-21
  • 2021-10-28
  • 2016-09-30
  • 2012-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-05
  • 2012-03-08
相关资源
最近更新 更多