[解決済み] AWS Elastic Beanstalk上のNginx confでclient_max_body_sizeを増加させる。
質問内容
次のような問題があります。 "413 Request Entity Too Large" 10MB以上のファイルをAWS Elastic Beanstalk上で動作する私たちのAPIに投稿すると、エラーが発生します。
いろいろと調べてみたところ、このような場合は クライアント最大ボディサイズ しかし、Elastic Beanstalkを使用してこれを行う方法についてのドキュメントを見つけることができません。私の推測では、ebetensionファイルを使用して変更する必要があると思います。
どうすれば制限を増やせるか、どなたかお考えですか?10MBはかなり弱いので、手動でこれを上げる方法があるはずです。
解決方法は?
これには2つの方法があります。 残念ながら、EBアプリケーションの種類によってはうまくいくものもあれば、そうでないものもあります。
AWSのドキュメントでサポート/推奨されているもの
のような一部のアプリケーションタイプでは Java SE , Go , Node.js また、ElasticbeanstalkはNginxをどのように設定するかということを理解しています。
<ブロッククオート
Elastic Beanstalkのデフォルトのnginxの設定を拡張する。
という名前のフォルダに.conf設定ファイルを追加します。
.ebextensions/nginx/conf.d/
アプリケーションのソースバンドルにある
. Elastic Beanstalkのnginxコンフィギュレーションは、このフォルダに自動的に.confファイルを含めます。
~/workspace/my-app/
|-- .ebextensions
| `-- nginx
| `-- conf.d
| `-- myconf.conf
`-- web.jar
<ブロッククオート
具体的に最大アップロードサイズを大きくするには、次に、ファイルを
.ebextensions/nginx/conf.d/proxy.conf
を設定し、最大ボディサイズをお好みのサイズに設定します。
client_max_body_size 50M;
Nginxの設定ファイルを直接作成する
他のアプリケーションタイプについては、多くのリサーチと素晴らしいAWSサポートチームと何時間も作業した後、私は設定ファイルを
.ebextensions
を使用して、nginxの設定を補完しています。この変更により、投稿本文のサイズを大きくすることができました。
の内部には
.ebextensions
というファイルを作成しました。
01_files.config
を以下の内容で作成しました。
files:
"/etc/nginx/conf.d/proxy.conf" :
mode: "000755"
owner: root
group: root
content: |
client_max_body_size 20M;
これにより、/etc/nginx/conf.d ディレクトリの中に proxy.conf ファイルが生成されます。proxy.confファイルには、単純に次の1行が含まれます。
client_max_body_size 20M;
というのがあって、これでうまくいく。
プラットフォームによっては、このファイルはデプロイ中に作成され、後のデプロイフェーズで削除されることに注意してください。
Nginxのドキュメントに概説されている他のディレクティブを指定することができます。
http://wiki.nginx.org/Configuration
他の方のお役に立てれば幸いです。
関連
-
[解決済み] Amazon S3のファイルやフォルダの名前を変更する方法は?
-
[解決済み] クラウドフォーメーション Fn::JoinとFn:GetAttの併用
-
[解決済み] AzureにはAWSのCloudFormationのようなIaCツールはあるのでしょうか?[クローズド]
-
[解決済み] AWS Lambda Functionに一時ファイルを保存することはできますか?
-
[解決済み] MSCK REPAIR TABLEは裏で何をしているのか、なぜこんなに遅いのか?
-
[解決済み] amazon dynamodbのパーティションキーとソートキーの違いは何ですか?
-
[解決済み] パスワードなしでec2インスタンスにscp(セキュアコピー)する
-
[解決済み] Amazon API GatewayからAWS Lambdaにクエリストリングやルートパラメータを渡す方法
-
[解決済み】LightsailとEC2の違いは何ですか?[クローズド]
-
[解決済み】Amazon EC2とAWS Elastic Beanstalkの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】AWS DynamoDBとAWS DocumentDBの違い(新規サービス)?[解決済み】AWS DynamoDBとAWS DocumentDBの違いについて]
-
[解決済み] S3からモデルをロードしようとすると、チェーン内の任意のプロバイダからAWS認証情報をロードできない - エラー - が発生する
-
[解決済み] AMI保管コスト
-
[解決済み] MSCK REPAIR TABLEは裏で何をしているのか、なぜこんなに遅いのか?
-
[解決済み] コード NoSuchBucket
-
[解決済み] CloudFrontがオリジンに接続できなかった
-
[解決済み] タスク実行時にAWS ECSエラーが発生しました。クラスタにコンテナインスタンスが見つかりませんでした。
-
[解決済み] amazon dynamodbのパーティションキーとソートキーの違いは何ですか?
-
[解決済み] `aws s3 cp` vs `aws s3 sync` 動作とコスト [終了しました]。
-
[解決済み] aws-cliでdynamodbのitemを返却する方法