web-dev-qa-db-ja.com

Elastic Beanstalkでhttpsを強制する方法は?

Elastic Beanstalkの無料使用レベルでhttpsを強制することはできないようです。

ヘルスチェックに失敗せずにAmazon Elastic Beanstalkでhttpsを強制する方法 で次の提案を試みました

このApache書き換えルールを使用する

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/status$ 
RewriteCond %{REQUEST_URI} !^/version$ 
RewriteCond %{REQUEST_URI} !^/_hostmanager/ 
RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

試してみると、httpリクエストはhttpsにリダイレクトされません。代わりに、httpページが正常にロードされます。また、X-Forwarded-Portヘッダーを使用して同じ結果を得ようとしました。

また、次の書き換えルールを試しました

RewriteCond %{SERVER_PORT} 80
RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

そして、このルールはリダイレクトループを引き起こします。そのため、Apacheの書き換えルールはElastic Load BalancerヘッダーのX-Forwarded-PortおよびX-Forwarded-Protoを選択しないように思われますが、リダイレクトループも私が目的とするものではありません。

助けてください。私はAWS、Elastic Beanstalkを初めて使用しますが、Apacheルールにあまり詳しくありません。ここからどこに行くかわからない。ありがとう。

67
landland

この回答は、ロードバランサーセキュリティグループで既にhttpsを有効にし、ロードバランサーにSSL証明書を追加し、ロードバランサーによって転送されたポートに443を追加し、Route 53でElastic Beanstalk環境でドメイン名を指していることを前提としています(または同等のDNSサービス)。

注:この回答は、Apacheを使用するElastic Beanstalk環境向けです。また、Dockerベースの展開では機能しない場合があります。

必要なのは、プロジェクトの.configディレクトリ内の .ebextensionsファイル のいずれかに以下を追加することだけです:

files:
    "/etc/httpd/conf.d/ssl_rewrite.conf":
        mode: "000644"
        owner: root
        group: root
        content: |
            RewriteEngine On
            <If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'">
            RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R,L]
            </If>

説明

これは、Elastic Beanstalkの外部では適度に単純です。通常、次のようなApache書き換えルールを追加します。

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI}

または、この場合のようにロードバランサーの背後にある場合:

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R,L]

ただし、これらの構成は<VirtualHost>ブロック内でのみ機能します。 RewriteCond<If>ブロックに変更すると、<VirtualHost>ブロックの外側で適切に機能し、スタンドアロンのApache構成ファイルを挿入できます。 CentOSの標準Apacheセットアップ(ElasticBeanstalkのセットアップを含む)には、/etc/httpd/conf.d/*.confに一致するすべてのファイルが含まれます。これは、このファイルを保存するファイルパスに一致します。

条件の-n '%{HTTP:X-Forwarded-Proto}'部分は、ロードバランサーの背後にいない場合にリダイレクトできないようにします。これにより、ロードバランサーとhttpsを備えた運用環境と、単一インスタンスであるステージング環境間で構成を共有できます。 httpsを持っていません。すべての環境でロードバランサーとhttpsを使用している場合、これは必要ありませんが、持っていても害はありません。

私が見た悪い解決策

私はこの問題に対する多くの悪い解決策を見てきましたが、なぜこの解決策が必要なのかを理解するためにそれらを経験する価値があります。

  1. Cloudfrontを使用:一部の人々は、HTTPからHTTPSへのリダイレクトを行うために、Elastic Beanstalkの前でキャッシュされていないCloudfrontセットアップを使用することを提案します。これにより、まったく適切ではないまったく新しいサービスが追加されます(したがって、複雑さが増します)(CloudfrontはCDNです。これは、本質的に動的なコンテンツにHTTPSを強制する適切なツールではありません)。 Apacheの設定はこの問題の通常の解決策であり、Elastic BeanstalkはApacheを使用しているため、これが必要な方法です。

  2. SSHをサーバーに入れて...:これはElastic Beanstalkのポイントとは完全に相反し、非常に多くの問題があります。自動スケーリングによって作成された新しいインスタンスは、変更された構成を持ちません。クローン環境には構成がありません。合理的な数の環境変更のセットは、構成を消去します。これはただの悪い考えです。

  3. Apache configを新しいファイルで上書きします:これは適切なソリューションの領域に入りつつありますが、Elastic Beanstalkの側面を変更するとメンテナンスの悪夢が残りますサーバーのセットアップ(非常にうまくいくかもしれません)。次の項目の問題も参照してください。

  4. Apache configファイルを動的に編集して数行追加します:これはまともなアイデアです。これに伴う問題は、Elastic BeanstalkがデフォルトのApache構成ファイルの名前を変更した場合に機能せず、このファイルが予期しないときに上書きされる可能性があることです。 https://forums.aws.Amazon .com/thread.jspa?threadID = 163369

159
Zags

編集:私はこの答えを気に入っていますが、今では非常に古いAWSが新しいサービスを考案しました( Certificate Manager )この回答の一部を廃止します。さらに、Apacheで.ebextensionsフォルダーを使用すると、上記で説明したように、このリダイレクトをよりクリーンに処理できます。

S3でWebサイトをホストしている場合、この回答の一部はまだ役に立つかもしれません。


これは私のために働いた:

  1. aws consoleコマンドを使用して、AWSに証明書をアップロードします。コマンド構造は次のとおりです。

    aws iam upload-server-certificate --server-certificate-name CERTIFICATE_NAME --certificate-body "file://PATH_TO_CERTIFICATE.crt" --private-key "file://YOUR_PRIVATE_KEY.pem" --certificate-chain "file://YOUR_CERTIFICATE_CHAIN.ca-bundle" --path /cloudfront/
    
  2. Elastic Beanstalkアプリケーションで、Configuration->Network Tier->Load Balancingをクリックして、 歯車アイコン

  3. Secure listener port443として選択します。 Protocol[〜#〜] https [〜#〜]として選択します。 SSL証明書IDステップ2からCERTIFICATE_NAMEを選択します。設定を保存します。

  4. Consoleに移動します。 EC2インスタンスをクリックします。 Load Balancersをクリックします。ロードバランサーをクリックします。 Instancesをクリックし、下にスクロールして、そのロードバランサーに割り当てられたEC2インスタンスを表示します。 EC2インスタンスの名前がアプリケーションURLと同じ(またはそれに近いもの)の場合、ロードバランサーのDNS名に注意してください。 awseb-e-...の形式である必要があります

  5. Consoleに戻ります。 CloudFrontをクリックします。 Create Distributionをクリックします。 Webディストリビューションを選択します。

  6. 配布をセットアップします。 Origin Domain Nameを、ステップ5で見つけたロードバランサーDNS名に設定します。 Viewer Protocol PolicyRedirect HTTP to HTTPSに設定します。 Forward Query StringsYesに設定します。 代替ドメイン名(CNAME)を、アプリケーションに使用するURLに設定します。 SSL証明書ステップ2でアップロードしたCERTIFICATE_NAMEに設定します。ディストリビューションを作成します。

  7. CloudFrontでディストリビューション名をクリックします。 Originsをクリックし、Originを選択して、Editをクリックします。 Origin Protocol PolicyMatch Viewerであることを確認してください。戻る。 Behaviorsをクリックし、Originを選択して、Editをクリックします。 Forward HeadersWhitelistに変更し、Hostを追加します。セーブ。

注:長いガイドも作成しました

15
Adam Link

ほとんどの場合、私にとっては機能しません。<If>ディレクティブはApache 2.4+でのみ機能しますが、 ElasticBeanstalk にはバージョン2.2.xがあります。

したがって、上記と同じアドバイスに従ってください。次の内容の.ebextensions/https_rewrite.configというファイルを作成します

files:
    "/etc/httpd/conf.d/ssl_rewrite.conf":
        mode: "000644"
        owner: root
        group: root
        content: |
            LoadModule rewrite_module modules/mod_rewrite.so
            RewriteEngine On
            # This will enable the Rewrite capabilities
            RewriteCond %{HTTPS} !=on
            # This checks to make sure the connection is not already HTTPS
            RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

これは私にとってはうまくいくようです。

このファイルをWARファイルに組み込む方法については、こちらをご覧ください answer

6
Marc

2018年にロードバランサーでElastic Beanstalkをリダイレクトしようとしています。上記の回答はいずれも私の環境では機能しません。私が遭遇したいくつかの問題:

  1. 最も投票された答えを試していましたが、私のTomcatはバージョン2.7です。サポートしていません。

  2. Container_commandsを使用して、00_applications設定をコピーしました。 AWSは単にそれを無視します。

だからついに私はこれを読んで動作するようになりました: https://docs.aws.Amazon.com/elasticbeanstalk/latest/dg/Java-Tomcat-proxy.html

ここに私がやることがあります:

フォルダー構造を再作成しました:

.ebextensions 
 - httpd
  -conf.d
   -ssl.conf

そして、これはssl.confの内容です

<VirtualHost *:80>
  RewriteEngine on
  RewriteCond %{HTTP:X-Forwarded-Proto} =http
  RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
  <Proxy *>
    Order Allow,Deny
    Allow from all
  </Proxy>
  ProxyPass / http://localhost:8080/ retry=0
  ProxyPassReverse / http://localhost:8080/
  ProxyPreserveHost on

  ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>

これが役立つことを願っています。

4
sliks

編集: Zags solution はより一般的で正確です。私はそれをお勧めします(これはpython env)に固有です)

Wsgi.confのハッキングやCloudFrontの使用を回避する、私が思いついたクリーンで迅速なソリューションを次に示します。

.ebextensions/some_file.configで:

# Redirect HTTP to HTTPS
  "/etc/httpd/conf.d/https_redirect.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      <Directory /opt/python/current/app/>
      RewriteEngine on
      RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
      RewriteRule .* https://%{HTTP_Host}%{REQUEST_URI} [R=301,L]
      </Directory>

これは簡単すぎるように感じますが、うまく機能しているようです。

また、「HTTPSではなく」ではなくHTTPを明示的にリダイレクトしていることに注意してください。

4
Ian

上記の答えのどれも私にはうまくいきませんでしたが、いくつかは私のために働いた答えを見つけるのに役立ちましたまた、私は助けた以下のURLを見つけました http://docs.aws.Amazon.com/elasticbeanstalk/latest/dg /Java-Tomcat-platform.html

上記のURLに記載されているファイル構造を作成して、2つのファイルhttpd.conf 00_application.confを変更しました

インスタンスからhttpd.conf全体をコピーし、上記のリンクに記載されているフォルダー構造の下の.ebextentionの下のコードに挿入します。次に、プロジェクトのそのファイルに次の行を追加します

LoadModule rewrite_module modules/mod_rewrite.so

00_application.confについても同じことを行い、インスタンスからコピーして、httpd/conf.d/elasticbeanstalk/00_application.confの下の.ebextentionの下のコードベースに配置します。このファイルを編集し、VirtualHostの間に以下を追加します

RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]

次に、コードをデプロイします。動作するはずです。

3
A Paul

それは次のコマンドで私のために働いています:

RewriteCond %{HTTP:X-Forwarded-Port} !=443

httpsチェックなし:

RewriteCond %{HTTP:X-Forwarded-Proto} !https

ELBはX-Forwarded-Protoの値をhttpに変更するようです(TCP protocol)でも)。

3
Roy Shmuli

私はこれを理解するのが難しいので、解決策を思いついた後、私は 私の解決策の詳細な説明を書きました 誰か他の人を助けたいと思いました。これは、Tomcat 8、Apache2、およびSpring Bootアプリに固有です。本当に便利なものがあります AWSラボgithubの拡張例

私のために働いたものの要約:

  1. /src/main/webapp/.ebextensions/httpd/conf.d/elasticbeanstalk.confにファイルを作成します
  2. 「LoadModule rewrite_module modules/mod_rewrite.so」を含むように注意して書き換え条件/ルールを追加します
  3. AWS EBSにデプロイする

Spring Bootアプリの例 です。

2
yerself

Elastic Beanstalkでは、AWSがそれらを上書きするようにon設定を追加するだけで、Webサーバー設定を上書きして独自の設定を送信できます。

次のファイルをパスの下に追加するだけです:.ebextensions\httpd\conf.d

ファイルの内容:

<VirtualHost *:80>
   LoadModule rewrite_module modules/mod_rewrite.so

   RewriteEngine On
   RewriteCond %{HTTP:X-Forwarded-Proto} !https
   RewriteCond %{HTTP_USER_AGENT} !ELB-HealthChecker
   RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI}

   <Proxy *>
     Order deny,allow
     Allow from all
   </Proxy>

   ProxyPass / http://localhost:8080/ retry=0
   ProxyPassReverse / http://localhost:8080/
   ProxyPreserveHost on

   ErrorLog /var/log/httpd/elasticbeanstalk-error_log

</VirtualHost>

'.ebextensions'はAWSの標準設定フォルダーで、残りは上書きするファイルとフォルダーを指します。ファイルまたはフォルダーが存在しない場合は、単純に作成します。

2
Adi

環境変数を介してHTTPSを有効にする

運用環境にのみHTTPSを適用する必要があり、Elastic Beanstalkにもあるがロードバランサーを使用しない(したがって、証明書を直接割り当てることができない)開発およびステージング環境には適用しません。

環境変数USE_HTTPSを使用します。 ssl_rewrite.conftrueに設定されている場合にのみ、USE_HTTPSファイルをコピーします。

。ebextensions/files/ssl_rewrite.conf

RewriteEngine On
<If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'">
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R=301,L]
</If>

。ebextensions/https.config

files:
  "/home/ec2-user/https_setup.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/bash

      echo "USE_HTTPS env var: ${USE_HTTPS,,}"
      outfile=/etc/httpd/conf.d/ssl_rewrite.conf
      if [ "${USE_HTTPS,,}" == "true" ]; then
        echo "Configure SSL rewrite"
        cp .ebextensions/files/ssl_rewrite.conf $outfile
        chmod 644 $outfile
        chown root:root $outfile
      else
        [ -f $outfile ] && rm $outfile
        echo "Do not use SSL"
        exit 0
      fi

container_commands:
  01_https_setup:
    command: "/home/ec2-user/https_setup.sh"

USE_HTTPSを変更した場合、変更を有効にするにはアプリケーションを再デプロイする必要があることに注意してください。 https.configファイルからechoコマンドを削除することもできます。

1
nbeuchat

誰かがまだ苦労している場合に備えて:

しばらく苦労しましたが、最終的に、すべてのAWS構成でGitHub(AWSチームから)を見つけました。以下の例は、Apache 2.2のHTTP> HTTPSリダイレクションで機能します。 (Apache 2.4およびNginxの構成については、以下のリンクを参照してください)。

Apache 2.2

  1. アプリのルートディレクトリにファイルを作成します:YOUR_PROJECT_ROOT/.ebextensions/httpd/conf.d/elasticbeanstalk.conf(IntelliJを使用する場合/ Java最終的な.WARアーティファクトに必ず追加してください)

  2. 以下の行を追加して、仮想ホストでリダイレクトを有効にします。

    <VirtualHost *:80>
        LoadModule rewrite_module modules/mod_rewrite.so
        RewriteEngine On
        RewriteCond %{HTTP:X-Forwarded-Proto} !https
        RewriteCond %{HTTP_USER_AGENT} !ELB-HealthChecker
        RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI}
    
        <Proxy *>
            Order deny,allow
            Allow from all
        </Proxy>
    
        ProxyPass / http://localhost:8080/ retry=0
        ProxyPassReverse / http://localhost:8080/
        ProxyPreserveHost on
    
        ErrorLog /var/log/httpd/elasticbeanstalk-error_log
    </VirtualHost>
    

Apache 2.4およびNginxのその他の例については、次のGitHubリポジトリをご覧ください。

https://github.com/awsdocs/elastic-beanstalk-samples/tree/master/configuration-files/aws-provided/security-configuration/https-redirect/Java-Tomcat

また、より多くの有用な構成と使用可能な例があります。

よろしく

1
Joao Gavazzi

Elastic Beanstalkの以下の構成があります(Tomcat 8 Java 8)を実行する64ビットAmazon Linux 2016.09 v2.3.1。ディレクトリ.ebextensionsを作成し、書き換え条件で.config YAMLファイルを追加しました。

Zagas solution 上記の(非常に複雑です)は機能しません。

  1. 「If」条件が不明なため
  2. Apache 2.2のため、httpd.confファイルにmod_rewrite.soが含まれていません

この解決策 私にとっては理にかなっていますが、これも機能しません。何も起こらず、「conf.d」ディレクトリの下に「ssl_rewrite.conf」ファイルが表示されません。

3番目の解決策は、「。ebextendsion」ディレクトリの下に「run.config」および「ssl_rewrite.conf」ファイルを追加することでした。

run_configに含まれるもの

container_commands:
copy-config:
command: "cp .ebextensions/ssl_rewrite.conf /etc/httpd/conf.d"

ssl_rewrite.confに含まれるもの

LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

ssl_rewrite.confは「conf.d」ディレクトリの下に作成されますが、httpからhttpsへのリダイレクトは機能しません。

私にとって唯一の解決策は、「/ etc/httpd/conf.d/elasticbeanstalk/00_application.conf」に次の行を追加することでした

<VirtualHost *:80>
......
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
......
</VirtualHost>

しかし、これは一時的な解決策であり、マシンが交換されると、httpsのリダイレクトはなくなります。

1
aelve

AWSはヘッダーにアンサースコア(_)を受け入れませんが、(-)を使用できますが、ヘッダー変数からアンダースコアを削除します。例:-header_var_val = "some value"headervarval = "some value"に置き換えます。わたしにはできる。

0
Rishabh Jhalani

バックエンドでX-Forwarded-Protoを適切に処理することで解決しました。

これはGrailsの設定ですが、アイデアのお手伝いをします。

    grails.plugin.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true
    grails.plugin.springsecurity.portMapper.httpPort = 80
    grails.plugin.springsecurity.portMapper.httpsPort = 443
    grails.plugin.springsecurity.secureChannel.secureHeaderName = 'X-Forwarded-Proto'
    grails.plugin.springsecurity.secureChannel.secureHeaderValue = 'http'
    grails.plugin.springsecurity.secureChannel.insecureHeaderName = 'X-Forwarded-Proto'
    grails.plugin.springsecurity.secureChannel.insecureHeaderValue = 'https'
    grails.plugin.springsecurity.secureChannel.definition = [
        [pattern: '/**', access: 'REQUIRES_SECURE_CHANNEL']
    ]
0
Amio.io

ルートフォルダーに.htaccessファイルを配置しないのはなぜですか?そうすれば、簡単にテストしてデバッグできます。 .Zipに含めると、すべてのインスタンスに再び自動的にデプロイされます。

単に.htaccess

RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R,L]
0
Timo

最も投票された回答は少し古いことに注意してください。ポールによる答えは、実際には正しい答えです。彼の回答で提供されるリンクはAWSによるものです(したがって、Elastic Beanstalkでアプリケーションを実行するときに、Apache構成をオーバーライドしてHTTPからHTTPSへのリダイレクトを行うことをお勧めします)。

注意すべき非常に重要なことが1つあります。複数のWebアプリを展開している場合、Webアプリの1つに.ebextensionsフォルダーを追加しても機能しません。指定した構成のどれもが作成または作成されていることがわかります。 Elastic Beanstalk環境に複数のWebアプリをデプロイする場合は、AWSでこの記事を読む必要があります Java TomcatがElastic Beanstalkに複数のWARファイルをデプロイする

一般に、ebコマンドを発行してWARファイルをデプロイする前に、次の構造を持っている必要があります。

MyApplication.Zip
├── .ebextensions
├── foo.war
├── bar.war
└── ROOT.war

.ebextentionsフォルダーが各WARファイル内に存在する場合、このフォルダーは完全に無視され、構成の変更は実行されません。

これが他の人の助けになることを願っています。

0
moto kazi

新しいApplication Load Balancerを使用すると、これをかなり簡単に行うことができます...

EB環境をセットアップするときに、これらのいずれかをセットアップするようにしてください(デフォルトは、まだデフォルトのロードバランサーだと思います)。環境の作成後にタイプを変更できなかったため、再作成します

これが完了したら、EC2設定->ロードバランサーに移動します。 EB環境用に作成したロードバランサーをクリックします。このタスクの前にHTTPSリスナーをセットアップしたことを確認する必要があります。そのため、SSL証明書を使用してHTTPS 443でリッスンし、80のHTTPを使用してインスタンスにトラフィックを転送してください。

次に、HTTPをリッスンする新しいリスナーを追加し、「リダイレクト先:」のデフォルトアクションを追加します。プロトコルとしてHTTPS、ポートとして443、オプションとして「元のホスト、パス、クエリ」、HTTP応答コードとして最後に301を設定してください。

このリスナーを追加したら、EC2 Load Balancerセキュリティグループを更新してHTTPS接続とHTTP接続の両方を受け入れるようにします。リスナーに小さな警告サインが表示され、それを思い出させます。

クリス

0
Kristian

この質問に対する別の2つの答えを拡張するには https://stackoverflow.com/a/43026082/8775205https://stackoverflow.com/a/42035023/8775205 。 ELBを使用してAWSにサービスをデプロイし、ステップバイステップガイドが必要なスプリングブートユーザーの場合、プロジェクトのsrc/main/webapp/.ebextensions/httpd/conf.d /に****。confファイルを追加できます。

src
--main
----Java
----resources
----webapps
------.ebextensions
--------httpd
----------confd
------------****.conf

****。confは次のようになります。単一のインスタンスを持つテストサイトがあるため、条件を追加して除外します。

<VirtualHost *:80>
   LoadModule rewrite_module modules/mod_rewrite.so

   RewriteEngine On
   RewriteCond %{HTTP:X-Forwarded-Proto} !https
   RewriteCond %{HTTP_USER_AGENT} !ELB-HealthChecker 
   RewriteCond %{HTTP_Host} !testexample.com #excludes test site
   RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI}

   <Proxy *>
     Order deny,allow
     Allow from all
   </Proxy>

   ProxyPass / http://localhost:8080/ retry=0
   ProxyPassReverse / http://localhost:8080/
   ProxyPreserveHost on

   ErrorLog /var/log/httpd/elasticbeanstalk-error_log

</VirtualHost>

この後、pom.xmlのmaven-war-pluginの下に「リソース」を追加して、上記の構成を取得することを忘れないでください。

<plugin>
     <groupId>org.Apache.maven.plugins</groupId>  
     <artifactId>maven-war-plugin</artifactId>  
     <configuration>  
         <webResources>
             <resource>  
               <!-- some other resource configured by yourself-->
             </resource> 
             <resource>
                <directory>src/main/webapps/.ebextensions</directory>
                 <targetPath>.ebextensions</targetPath>
                 <filtering>true</filtering>
             </resource> 
         </webResources>  
     </configuration>  
     <version>2.1.1</version>
 </plugin>

最後に、コードをコミットしてプッシュし、AWS codebuildとcodepipelineを待ってリポジトリからコードを選択し、beantalk環境にデプロイするか、単にプロジェクトをwarファイルにパックしてAWS beanstalk環境にアップロードします

0
Tang Mao