2016-12-06 10 views
2

より大きいJPEGファイルのアップロードを許可するために、Elastic Beanstalk NGINXリバースプロキシのclient_max_body_sizeプロパティを変更しようとしています。したがって、WARファイルのルートディレクトリに ".ebextensions"フォルダを追加し(WARファイルにはSpringブートアプリケーションも含まれています)、次の内容のファイル ".ebextensions/01_files.config"を追加しました:エラスティックBeanstalkの.ebextensionsがWAR内で無視される

files: 
    "/etc/nginx/conf.d/proxy.conf" : 
    mode: "000755" 
    owner: root 
    group: root 
    content: | 
     client_max_body_size 20M; 

私は、Travis-CI経由でWARファイルをElastic Beanstalkにデプロイします。しかし、ファイルサイズが大きいファイルをアップロードしてから、Elastic Beanstalkはファイルを無視しているようです。 2MBは動作せず、インスタンスにSSHで接続して "/etc/nginx/conf.d/proxy.conf"を検索すると、そのファイルは存在しません。

YAMLバリデータを使用して上記のコンテンツの検証に成功しました。私は知っている、関連する質問がたくさんありますが、それらのどれも私の問題を解決していないようです。また、 ".ebextensions/01_files.config"がWARファイルのルートディレクトリに含まれているかどうかを確認しました。また、 "/ tmp/eb_extracted_jar"をチェックすると、 ".ebextensions/01_files.config"というファイルも正しい内容で存在します。私は "/var/log/cfn-init.log"に何らかのエラーを見つけることさえできません。私は、ちょうど数秒間、 "proxy.conf"というファイルが "/etc/nginx/conf.d/"に展開中に現れたのに気づきましたが、それは削除されました。

この問題は、Travis-CI経由のElastic Beanstalkへの展開のために発生する可能性がありますか?それとも、私は何か重要なことを逃したのですか?

編集:私はちょうど「proxy.conf」ファイルは、アプリケーションがデプロイされたときに、数秒ごとに時間を作成したが、それは消えて数秒後(の「/ etc/nginxのでls -lsaにチェックされていることを認識し /conf.d/ proxy.conf 『のためと午後01時43分『elasticbeanstalk 『ディレクトリと』 healthd_http.conf』)

4 drwxr-xr-x 3 root root 4096 6. Dec 13:43 . 
4 drwxr-xr-x 4 root root 4096 6. Dec 13:34 .. 
4 drwxr-xr-x 2 root root 4096 6. Dec 13:34 elasticbeanstalk 
4 -rw-r--r-- 1 root root 148 6. Dec 13:34 healthd_http.conf 
4 -rwxr-xr-x 1 root root 26 6. Dec 13:43 proxy.conf 

そして、数秒後にls -lsa「」、のために13時34分にタイムスタンプを参照してください』 /etc/nginx/conf.d/ ":

4 drwxr-xr-x 3 root root 4096 6. Dec 13:44 . 
4 drwxr-xr-x 4 root root 4096 6. Dec 13:44 .. 
4 drwxr-xr-x 2 root root 4096 6. Dec 13:44 elasticbeanstalk 
4 -rw-r--r-- 1 root root 148 6. Dec 13:44 healthd_http.conf 

答えて

5

ドキュメントを読んだ後、私はElastic Beanstalk Java SE Platformの公式のAWSドキュメントのいくつかの重要な部分を見逃していることを知りました(http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html参照)。

  1. 間違いなく私のミス:私は、フォルダ「.ebextensions」のファイル拡張子を誤ったファイル拡張子を使用「の.conf」が、ない「の.config」にする必要があります。

  2. 少なくともJava SEプラットフォームの場合、特定のコンテンツを持つファイルを生成するために、 "files:..."構文を使用せずに、 ".ebextensions"ディレクトリ内にNGINX設定ファイルを直接追加することができます。 "/etc/nginx/conf.d/proxy.conf"のプロキシファイルは、内容がclient_max_body_size 20M;の ".ebextension/nginx/conf.d/proxy.conf"を直接追加するだけです。その後、 "proxy.conf"は "/etc/nginx/conf.d/proxy.conf"にデプロイされ、デフォルトのNGINX設定によって自動的にインクルードされます。

この回答が他の人には分かりませんでした。

+0

これは正しいとは思わない。私は '.config'ファイル拡張子をhttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.htmlとして使用しています。 しかし、私はまだ問題があります:( – Phil

+0

あなたはリバースプロキシをロードバランサ?なぜなら、あなたは 'を必要とするからです。ここに記載されているように「conf」です。http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-nginx.html – Tom

関連する問題