

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# プロキシサーバーを設定します
<a name="java-tomcat-proxy"></a>

Tomcat プラットフォームはリバースプロキシとして [nginx](https://www.nginx.com/) (デフォルト) または [Apache HTTP Server](https://httpd.apache.org/) を使用し、インスタンスのポート 80 から、ポート 8080 でリッスンしている Tomcat ウェブコンテナにリクエストを中継します。Elastic Beanstalk では、デフォルトのプロキシ設定が用意されています。これは拡張することも、独自の設定で完全に上書きすることもできます。

**ご使用のプラットフォームバージョンでプロキシサーバーを設定する**  
すべての AL2023/AL2 プラットフォームでは、統一されたプロキシ設定機能がサポートされています。AL2023/AL2 を実行中のプラットフォームバージョンでプロキシサーバーを設定する方法の詳細については、「[リバースプロキシの設定](platforms-linux-extend.proxy.md)」を参照してください。

## (Amazon Linux 2 より前の) Amazon Linux AMI Tomcat プラットフォームでのプロキシの設定
<a name="java-tomcat-proxy.alami"></a>

Elastic Beanstalk Tomcat 環境で (Amazon Linux 2 より前の) Amazon Linux AMI プラットフォームバージョンを使用している場合は、このセクションの追加情報をお読みください。

**注意事項**  
このトピックの情報は、Amazon Linux AMI (AL1) に基づくプラットフォームブランチにのみ適用されます。AL2023/AL2 プラットフォームブランチでは、以前の Amazon Linux AMI (AL1) プラットフォームバージョンと互換性がなく、*別の構成設定が必要です*。
 [2022 年 7 月 18 日](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html)に、Elastic Beanstalk では Amazon Linux AMI (AL1) に基づくプラットフォームブランチのステータスがすべて**廃止**に設定されました。現在および完全にサポートされている Amazon Linux 2023 プラットフォームブランチへの移行の詳細については、「[Elastic Beanstalk Linux アプリケーションを Amazon Linux 2023 または Amazon Linux 2 に移行する](using-features.migration-al.md)」を参照してください。

### Tomcat 環境のプロキシサーバーの選択 — Amazon Linux AMI (AL1)
<a name="java-tomcat-proxy.alami"></a>

(Amazon Linux 2 より前の) Amazon Linux AMI に基づく Tomcat プラットフォームバージョンは、デフォルトでプロキシに [Apache 2.4](https://httpd.apache.org/docs/2.4/) を使用します。ソースコードに[設定ファイル](ebextensions.md)を含めることにより、[Apache 2.2](https://httpd.apache.org/docs/2.2/) または [nginx](https://www.nginx.com/) を使用する選択ができます。次の例では、nginx が使用されるように Elastic Beanstalk を設定しています。

**Example .ebextensions/nginx-proxy.config**  

```
option_settings:
  aws:elasticbeanstalk:environment:proxy:
    ProxyServer: nginx
```

### Apache 2.2 から Apache 2.4 への移行 — Amazon Linux AMI (AL1)
<a name="java-tomcat-proxy-apache-migrate"></a>

[Apache 2.2](https://httpd.apache.org/docs/2.2/) 向けに開発されたアプリケーションがある場合、[Apache 2.4](https://httpd.apache.org/docs/2.4/) への移行について理解するには、このセクションをお読みください。

[Java with Tomcat プラットフォームの更新 (2018 年 5 月 24 日)](https://aws.amazon.com/releasenotes/release-aws-elastic-beanstalk-platform-update-for-the-java-with-tomcat-platform-on-may-24-2018/) とともにリリースされた Tomcat プラットフォームバージョン 3.0.0 の以降の設定では、Tomcat プラットフォームのデフォルトのプロキシは Apache 2.4 です。Apache 2.4 の `.conf` ファイルは、Apache 2.2 のものと完全な下位互換性がありません。Elastic Beanstalk には、各 Apache バージョンで正しく動作するデフォルトの `.conf` ファイルが 1 つ含まれています。「[デフォルトの Apache 設定の拡張および上書き — Amazon Linux AMI (AL1)](#java-tomcat-proxy-apache)」で説明されているように、アプリケーションが Apache の設定をカスタマイズしない場合は、Apache 2.4 への移行は問題ありません。

アプリケーションが Apache の設定を拡張または上書きする場合は、Apache 2.4 に移行するためにいくつかの変更を加える必要があります。詳細は、*Apache Software Foundation* サイトの [2.2 から 2.4 へのアップグレード](https://httpd.apache.org/docs/current/upgrading.html)を参照してください。Apache 2.4 への移行が正常に完了するまで、一時的な対策として、次の[設定ファイル](ebextensions.md)をソースコードに含めることで、アプリケーションで Apache 2.2 を使用することができます。

**Example .ebextensions/apache-legacy-proxy.config**  

```
option_settings:
  aws:elasticbeanstalk:environment:proxy:
    ProxyServer: apache/2.2
```

簡単に修正するには、Elastic Beanstalk コンソールでプロキシサーバーを選択することもできます。

**Elastic Beanstalk コンソールで Tomcat 環境にプロキシを選択するには**

1. [Elastic Beanstalk コンソール](https://console.aws.amazon.com/elasticbeanstalk)を開き、**リージョン**リストで を選択します AWS リージョン。

1. ナビゲーションペインで、[**環境**] を選択し、リストから環境の名前を選択します。

1. ナビゲーションペインで、[**設定**] を選択します。

1. **[更新、モニタリング、ログ]** の設定カテゴリで、**[編集]** を選択します。

1. [**プロキシサーバー**] を選択し、[`Apache 2.2 (deprecated)`] を選択します。

1. ページの最下部で **[適用]** を選択し変更を保存します。

![\[Elastic Beanstalk コンソールのソフトウェア設定カテゴリで Tomcat 環境のプロキシを選択する\]](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/java-tomcat-proxy-selection.png)


### デフォルトの Apache 設定の拡張および上書き — Amazon Linux AMI (AL1)
<a name="java-tomcat-proxy-apache"></a>

追加の設定ファイルを使用して、Elastic Beanstalk のデフォルト Apache 設定を拡張できます。または、Elastic Beanstalk のデフォルトの Apache 設定を完全に上書きすることもできます。

**注記**  
すべての Amazon Linux 2 プラットフォームでは、統一されたプロキシ設定の特徴が support されています。Amazon Linux 2 を実行中の Tomcat プラットフォームバージョンでプロキシサーバーを設定する方法の詳細については、「[リバースプロキシの設定](platforms-linux-extend.proxy.md)」を参照してください。
Elastic Beanstalk アプリケーションを Amazon Linux 2 プラットフォームに移行する場合は、「[Elastic Beanstalk Linux アプリケーションを Amazon Linux 2023 または Amazon Linux 2 に移行する](using-features.migration-al.md)」の情報も必ずお読みください。

Elastic Beanstalk のデフォルトの Apache 設定を拡張するには、アプリケーションソースバンドルの `.conf` というフォルダに `.ebextensions/httpd/conf.d` 設定ファイルを追加します。Elastic Beanstalk の Apache 設定では、このフォルダに `.conf` ファイルが自動的に含められます。

```
~/workspace/my-app/
|-- .ebextensions
|   -- httpd
|      -- conf.d
|         -- myconf.conf
|         -- ssl.conf
-- index.jsp
```

たとえば、次の Apache 2.4 設定では、ポート 5000 にリスナーを追加します。

**Example .ebextensions/httpd/conf.d/port5000.conf**  

```
listen 5000
<VirtualHost *:5000>
  <Proxy *>
    Require all granted
  </Proxy>
  ProxyPass / http://localhost:8080/ retry=0
  ProxyPassReverse / http://localhost:8080/
  ProxyPreserveHost on

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

Elastic Beanstalk のデフォルトの Apache 設定を完全に上書きするには、ソースバンドルの `.ebextensions/httpd/conf/httpd.conf` に設定を含めます。

```
~/workspace/my-app/
|-- .ebextensions
|   `-- httpd
|       `-- conf
|           `-- httpd.conf
`-- index.jsp
```

Elastic Beanstalk の Apache 設定を上書きするには、`httpd.conf` に以下の行を追加することにより、[Elastic Beanstalk の拡張ヘルスレポートおよびモニタリング](health-enhanced.md)、レスポンスの圧縮、および静的ファイルに関して Elastic Beanstalk の設定を適用します。

```
IncludeOptional conf.d/*.conf
IncludeOptional conf.d/elasticbeanstalk/*.conf
```

お使いの環境で Apache 2.2 をプロキシとして使用している場合は、`IncludeOptional` ディレクティブを `Include` に置き換えます。2 つの Apache バージョンにおけるこれら 2 つのディレクティブの動作の詳細については、[Include in Apache 2.4](https://httpd.apache.org/docs/2.4/mod/core.html#include)、[IncludeOptional in Apache 2.4](https://httpd.apache.org/docs/2.4/mod/core.html#includeoptional)、および [Include in Apache 2.2](https://httpd.apache.org/docs/2.2/mod/core.html#include) を参照してください。

**注記**  
ポート 80 のデフォルトのリスナーを上書きするには、`00_application.conf` というファイルを `.ebextensions/httpd/conf.d/elasticbeanstalk/` に含めて Elastic Beanstalk の設定を上書きします。

実例については、環境内のインスタンスの `/etc/httpd/conf/httpd.conf` にある Elastic Beanstalk のデフォルト設定ファイルを参照してください。ソースバンドルの `.ebextensions/httpd` フォルダのすべてのファイルは、デプロイ中に `/etc/httpd` にコピーされます。

### デフォルトの nginx 設定の拡張および上書き — Amazon Linux AMI (AL1)
<a name="java-tomcat-proxy-nginx"></a>

Elastic Beanstalk のデフォルトの nginx 設定を拡張するには、アプリケーションソースバンドル内の `.conf` というフォルダに `.ebextensions/nginx/conf.d/` 設定ファイルを追加します。Elastic Beanstalk の nginx 設定では、このフォルダに `.conf` ファイルが自動的に含められます。

```
~/workspace/my-app/
|-- .ebextensions
|   `-- nginx
|       `-- conf.d
|           |-- elasticbeanstalk
|           |   `-- my-server-conf.conf
|           `-- my-http-conf.conf
`-- index.jsp
```

`conf.d` フォルダの拡張子が .conf であるファイルが、デフォルト設定の `http` ブロックに含まれます。`conf.d/elasticbeanstalk` フォルダのファイルは、`server` ブロック内の `http` ブロックに含まれます。

Elastic Beanstalk のデフォルトの nginx 設定を完全に上書きするには、ソースバンドルの `.ebextensions/nginx/nginx.conf` に設定を含めます。

```
~/workspace/my-app/
|-- .ebextensions
|   `-- nginx
|       `-- nginx.conf
`-- index.jsp
```

**注意事項**  
Elastic Beanstalk の nginx 設定を上書きするには、設定の `server` ブロックに以下の行を追加することにより、ポート 80 のリスナー、レスポンスの圧縮、および静的ファイルに関して Elastic Beanstalk の設定を適用します。  

  ```
   include conf.d/elasticbeanstalk/*.conf;
  ```
ポート 80 のデフォルトのリスナーを上書きするには、`00_application.conf` というファイルを `.ebextensions/nginx/conf.d/elasticbeanstalk/` に含めて Elastic Beanstalk の設定を上書きします。
また、設定の `http` ブロックに以下の行を含めることにより、[Elastic Beanstalk の拡張ヘルスレポートおよびモニタリング](health-enhanced.md) およびログ記録に関して Elastic Beanstalk の設定を適用します。  

  ```
      include       conf.d/*.conf;
  ```

実例については、環境内のインスタンスの `/etc/nginx/nginx.conf` にある Elastic Beanstalk のデフォルト設定ファイルを参照してください。ソースバンドルの `.ebextensions/nginx` フォルダのすべてのファイルは、デプロイ中に `/etc/nginx` にコピーされます。