Elastic Beanstalk 環境にファイルをアップロードするときの「413 Request Entity Too Large」というエラーを解決するにはどうすればよいですか?

所要時間1分
0

NGINX 設定の「client_max_body_size」の値をカスタマイズして、大きなファイルを AWS Elastic Beanstalk 環境にアップロードできるようにしたいと考えています。

解決策

デフォルトでは、NGINX のファイルアップロードは 1 MB に制限されています。1 MB を超えるファイルをアップロードするには、client_max_body_size の値を更新します。

**重要:**M と MB は、メガバイト」に相当する記号です。たとえば、2 M は 2 MB に相当します。ただし、NGINX 設定では有効な構文値として「M」のみを受け入れます。数字と「M」の文字の間にはスペースはありません。

: すべての Amazon Linux 2 および Amazon Linux 2023 プラットフォームバージョンのデフォルトプロキシ設定をカスタマイズするには、Extending Elastic Beanstalk Linux platforms を参照してください。

Amazon Linux 2 および Amazon Linux 2023 で client_max_body_size の値を設定するには、次の手順を実行します。

  1. 次の内容を含む client_max_body_size.conf という名前の .conf 設定ファイルを作成します。

    client_max_body_size 50M;
  2. .conf ファイル client_max_body_size.conf を、アプリケーションソースバンドルの .platform/nginx/conf.d/ という名前のフォルダにコピーします。

    : Elastic Beanstalk NGINX の設定では、.platform フォルダーに.conf ファイルが自動的に含まれます。.conf ファイルがソースバンドルに存在しない場合は、必ずこのパスを作成してください。

次の例は、Java SE プラットフォーム上のアプリケーション zip ファイル内の .platform ディレクトリと.conf ファイルの構造を示しています。.platform フォルダーは、すべての Linux プラットフォームのアプリケーションソースバンドルのルートに配置する必要があります。アプリケーションのバンドルの詳細については、使用しているプラットフォームのマニュアルを参照してください。

~/my-app.zip/
|-- web.jar
|-- Procfile
|-- readme.md  
`-- .platform/
    |-- nginx/                # Proxy configuration
    |   `-- conf.d/
    |       `-- client_max_body_size.conf
  1. 新しいアプリケーションバージョンを Elastic Beanstalk 環境にデプロイします。
  2. SSH を使用して、Elastic Beanstalk 環境で実行されている Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにログインします。
  3. NGINX 設定構文が正しく、client_max_body_size の値に加えられた変更が適用されていることを確認するには、次のコマンドを実行します。
    $ sudo nginx -T | egrep -i "client_max_body_size"
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
    client_max_body_size 50M;

関連情報

Create an application source bundle

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ