

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 프록시 서버 구성
<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 AMI(이전 Amazon Linux 2) Tomcat 플랫폼에서 프록시 구성
<a name="java-tomcat-proxy.alami"></a>

Elastic Beanstalk Tomcat 환경에서 Amazon Linux AMI 플랫폼 버전(이전 Amazon Linux 2)을 사용하는 경우 여기의 추가 정보를 읽어 보십시오.

**참고**  
이 주제의 정보는 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 AMI(이전 Amazon Linux 2)에 기반한 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/)로 마이그레이션하는 방법을 참조하십시오.

[2018년 5월 24일자 Tomcat 플랫폼 업데이트 기반 Java](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 구성부터는 Apache 2.4가 Tomcat 플랫폼의 기본 프록시입니다. Apache 2.4 `.conf` 파일은 대부분 Apache 2.2 파일과 호환되지만 완전히 호환되지는 않습니다. Elastic Beanstalk에는 Apache 각 버전과 올바르게 상호 작용하는 기본 `.conf` 파일이 포함되어 있습니다. 애플리케이션이 Apache의 구성을 사용자 지정하지 않는 경우 [기본 Apache 구성 확장 및 재정의 — Amazon Linux AMI (AL1)](#java-tomcat-proxy-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/ko_kr/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 플랫폼은 균일한 프록시 구성 기능을 지원합니다. 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`로 바꾸십시오. 두 버전의 Apache에서 이러한 두 가지 명령의 동작에 대한 자세한 내용은 [Apache 2.4의 Include](https://httpd.apache.org/docs/2.4/mod/core.html#include), [Apache 2.4의 IncludeOptional](https://httpd.apache.org/docs/2.4/mod/core.html#includeoptional), [Apache 2.2의 Include](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`로 복사됩니다.