Elasticbeanstalk - NGINX - 413 请求实体太大

问题描述 投票:0回答:1

我知道这可能被认为是以下内容的重复:在 AWS Elastic Beanstalk 中自定义 Nginx 配置(以及其他问题),但我无法使我的代码适用于任何建议的解决方案。

这就是我的 config.yml 文件的样子(xxx = 环境名称):

branch-defaults:
    master:
        environment: xxx
    environment-defaults:
      xxx:
        branch: master
        repository: xxx
    global:
      application_name: xxx
      default_ec2_keyname: null
      default_platform: arn:aws:elasticbeanstalk:eu-west-1::platform/Node.js running on
        64bit Amazon Linux/4.3.0
      default_region: eu-west-1
      instance_profile: null
      platform_name: null
      platform_version: null
      profile: null
      sc: git
      workspace_type: Application

然后添加:

http:
  files:
    "/etc/nginx/conf.d/proxy.conf" :
      mode: "000755"
      owner: root
      group: root
      content: |
          http {
            client_max_body_size 20M;
          }
container_commands:
  01_reload_nginx:
    command: "service nginx reload"

允许更大的有效负载并尝试在部署后重新启动 nginx 以接受更改。然而,尽管这似乎是公认的方法,但它在我的代码中不起作用。对于小于 1mb 的小文件,其他一切都可以正常工作。

感谢您的帮助!

node.js amazon-web-services nginx amazon-elastic-beanstalk http-status-code-413
1个回答
0
投票

在 EC2 nginx.conf 文件中设置 client_max_body_size 20M; 后,您需要向您的 EC2 用户添加 EC2InstanceConnect 权限。(您可以根据您的要求增加 client_max_body_size)

-转到您的 AWS 控制台 - 搜索分配给您的用户的 IAM 用户和用户组 - 在添加权限选项卡中单击附加策略 -搜索 EC2InstanceConnect 策略并附加它。

编辑nginx.conf文件并重新加载nginx -您将在etc/nginx下找到nginx.conf文件。这就是您从起点到达 etc 的方式。 -进入 etc/nginx 后,在命令行中写入 sudo nano nginx.conf。(这将打开 nginx.conf 文件并启用编辑) - 在 server 下的 ngnx.conf 文件中添加行 client_max_body_size 20M; (或任何适合您的限制) 保存更改并退出文件(ctrl+s、ctrl+x) -head 到与 etc 处于同一级别的 sbin 并运行命令 sudo nginx -s reload

现在再次检查,很可能您的问题已经解决了。

© www.soinside.com 2019 - 2024. All rights reserved.