Java SE를 실행하는 HTTPS EC2 인스턴스에서 종료 - AWS Elastic Beanstalk

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

Java SE를 실행하는 HTTPS EC2 인스턴스에서 종료

Java SE 컨테이너 유형의 경우, .ebextensions 구성 파일 및 nginx 서버가 사용하도록 HTTPS 구성하는 nginx 구성 파일을 사용하여 활성화합니다. HTTPS

모든 02/3/플랫폼은 균일한 프록시 구성 기능을 지원합니다. AL2 AL2 AL2AL202/3를 실행하는 플랫폼 버전에서 프록시 서버를 구성하는 방법에 대한 자세한 내용은 을 참조하십시오. Elastic Beanstalk에서 리버스 프록시 설정하기

지침에 따라 인증서와 프라이빗 키 자리 표시자를 바꿔 구성 파일에 다음 조각을 추가한 후, 이를 .ebextensions 디렉터리에 저장합니다. 구성 파일은 다음 작업을 수행합니다.

  • files 키는 인스턴스에 다음 파일을 만듭니다.

    /etc/pki/tls/certs/server.crt

    인스턴스에 인증서 파일을 만듭니다. Replace certificate file contents 인증서 내용과 함께.

    참고

    YAML일관된 들여쓰기가 필요합니다. 예제 구성 파일의 콘텐츠를 바꿀 때 들여쓰기 레벨을 일치시키고, 텍스트 편집기가 탭 문자 대신 공백을 사용해 들여쓰기를 하도록 합니다.

    중간 인증서를 보유한 경우, 사이트 인증 후 server.crt에 포함시킵니다.

    -----BEGIN CERTIFICATE----- certificate file contents -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- first intermediate certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- second intermediate certificate -----END CERTIFICATE-----
    /etc/pki/tls/certs/server.key

    인스턴스에 프라이빗 키 파일을 만듭니다. Replace private key contents 인증서 요청 또는 자체 서명 인증서를 생성하는 데 사용된 개인 키의 내용을 포함합니다.

  • container_commands 키는 서버가 nginx 구성 파일을 로드할 수 있도록 모든 항목이 구성된 후 nginx 서버를 다시 시작합니다.

예 .ebextensions/https-instance.config
files: /etc/pki/tls/certs/server.crt: content: | -----BEGIN CERTIFICATE----- certificate file contents -----END CERTIFICATE----- /etc/pki/tls/certs/server.key: content: | -----BEGIN RSA PRIVATE KEY----- private key contents # See note below. -----END RSA PRIVATE KEY----- container_commands: 01restart_nginx: command: "service nginx restart"
참고

프라이빗 키를 포함한 구성 파일을 소스 제어에 커밋하지 마십시오. 구성을 테스트하고 작동 여부를 확인한 후 Amazon S3에 프라이빗 키를 저장하고 배포 중에 다운로드하도록 구성을 변경합니다. 지침은 프라이빗 키를 Amazon S3에 안전하게 저장 단원을 참조하십시오.

소스 번들의 .conf 디렉터리에서 .ebextensions/nginx/conf.d/ 확장명을 사용하는 파일에 다음을 놓습니다(예: .ebextensions/nginx/conf.d/https.conf). Replace app_port 애플리케이션이 수신하는 포트 번호와 함께. 이 예제는 를 사용하여 포트 443에서 수신하도록 nginx 서버를 구성합니다. SSL Java SE 플랫폼의 이러한 구성 파일에 대한 자세한 내용은 역방향 프록시 구성 단원을 참조하십시오.

예 .ebextensions/nginx/conf.d/https.conf
# HTTPS server server { listen 443; server_name localhost; ssl on; ssl_certificate /etc/pki/tls/certs/server.crt; ssl_certificate_key /etc/pki/tls/certs/server.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; 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; } }

단일 인스턴스 환경에서 포트 443의 트래픽을 허용하도록 인스턴스의 보안 그룹도 수정해야 합니다. 다음 구성 파일은 다음을 사용하여 보안 그룹의 ID를 검색합니다. AWS CloudFormation 함수를 생성하고 여기에 규칙을 추가합니다.

예 .ebextensions/ .config https-instance-single
Resources: sslSecurityGroupIngress: Type: AWS::EC2::SecurityGroupIngress Properties: GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]} IpProtocol: tcp ToPort: 443 FromPort: 443 CidrIp: 0.0.0.0/0

부하가 분산된 환경에서는 보안 트래픽을 그대로 전달하거나 암호화를 위해 복호화 후 재암호화하도록 로드 밸런서를 구성합니다. end-to-end