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