Elastic Beanstalk 환경에서 실행되는 애플리케이션의 SSL 인증서를 구성하려면 어떻게 해야 하나요?

3분 분량
0

AWS Elastic Beanstalk에서 실행되는 애플리케이션에 대한 SSL 인증서를 구성하고 싶습니다.

간략한 설명

Elastic Beanstalk에서 실행되는 애플리케이션의 SSL 암호화를 켜려면 다음 작업 중 하나를 수행하세요.

  • 로드 밸런서 수준에서 HTTPS 종료
  • 인스턴스 수준에서 HTTPS 종료
  • HTTP를 HTTPS로 리디렉션

해결 방법

로드 밸런서 수준에서 HTTPS 종료

HTTPS를 사용하도록 Elastic Beanstalk 환경을 업데이트하려면 해당 환경의 로드 밸런서에 대한 HTTPS 리스너를 구성해야 합니다. HTTPS 리스너를 지원하는 로드 밸런서에는 두 가지 유형이 있습니다.

  • Classic Load Balancer
  • Application Load Balancer

자세한 내용은 HTTPS를 종료하도록 Elastic Beanstalk 환경의 로드 밸런서 구성을 참조하세요.

인스턴스 수준에서 HTTPS 종료

단일 인스턴스 환경에서 HTTPS를 사용하거나 로드 밸런서가 암호 해독 없이 트래픽을 통과하도록 구성하려면 플랫폼 후크를 사용할 수 있습니다. 플랫폼 후크를 사용하여 트래픽을 애플리케이션에 전달하는 프록시 서버가 HTTPS 연결을 종료하도록 구성합니다. 후크 파일은 Elastic Beanstalk 플랫폼 유형에 따라 달라집니다. 자세한 내용은 인스턴스에서 HTTPS 연결을 종료하도록 애플리케이션 구성을 참조하세요.

참고: Amazon Linux AMI(AL1) 플랫폼은 사용 중지되었으므로 플랫폼 후크를 사용하여 프록시 서버에 변경 사항을 추가하는 것이 가장 좋습니다. 이전에 AL1 플랫폼 .ebextensions/nginx 디렉터리에 제공된 프록시 구성 파일을 AL2의 platform/nginx 플랫폼 후크 디렉터리로 이동합니다. Elastic Beanstalk 기본 NGINX 구성을 확장하려면 애플리케이션 소스 번들의 **.platform/nginx/conf.d/**라는 폴더에 .conf 구성 파일을 추가하세요. Elastic Beanstalk NGINX 구성에는 다음 폴더에 .conf 파일이 자동으로 포함됩니다.

~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- conf.d
|           `-- myconf.conf
`--

Elastic Beanstalk의 기본 NGINX 구성을 재정의하려면 소스 번들에 .platform/nginx/nginx.conf의 구성을 포함합니다.

~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- nginx.conf
`--

Elastic Beanstalk NGINX 구성을 재정의하는 경우 Elastic Beanstalk 구성을 가져오세요. 구성을 가져오면 향상된 상태 보고 및 모니터링, 자동 애플리케이션 매핑 및 정적 파일이 가능합니다. 구성을 가져오려면 nginx.conf에 다음 줄을 추가하세요.

include conf.d /elasticbeanstalk/ *.conf;

프록시를 구성하는 방법에 대한 자세한 내용은 역방향 프록시 구성을 참조하세요.

참고: 프록시 오류 로그에 nginx: [경고] "ssl" 디렉티브는 사용 중지되었습니다. "listen ... ssl" 디렉티브를 사용하세요.라는 경고가 표시될 수 있습니다. 이 경고를 피하려면 다음 .conf 파일을 사용하고 플랫폼 후크 폴더에 저장하여 인스턴스 수준에서 SSL을 종료하세요.

listen       443 ssl;
server_name  localhost;


location / {
              proxy_pass  http://localhost:app_port;
              proxy_set_header   Connection "";
              proxy_http_version 1.1;
              proxy_set_header        Host            $host;
              proxy_set_header        X-Real-IP       $remote_addr;
              proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header        X-Forwarded-Proto https;
          }
      }

HTTP를 HTTPS로 리디렉션

HTTP to HTTPS 리디렉션은 클라이언트가 시작한 비보안 트래픽을 처리하고 트래픽을 HTTPS로 리디렉션합니다. 리디렉션에 애플리케이션 로드 밸런서 또는 단일 인스턴스를 사용하는 경우 HTTP에서 HTTPS로의 리디렉션 구성을 참조하세요.

기본적으로 Classic Load Balancer는 HTTP 트래픽을 HTTPS로 리디렉션할 수 없습니다. 대신 Classic Load Balancer를 지원하는 웹 서버 인스턴스에 대한 재작성 규칙을 구성하세요. 자세한 내용은 Classic Load Balancer에서 HTTP 트래픽을 HTTPS로 리디렉션하려면 어떻게 해야 하나요?를 참조하세요.


AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠