기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Docker를 실행하는 EC2 인스턴스에서 HTTPS 종료
Docker 컨테이너의 경우 구성 파일을 사용하여 HTTPS를 활성화합니다.
지침에 따라 인증서와 프라이빗 키 구성 요소를 바꿔 구성 파일에 다음 조각을 추가한 후, 이를 소스 번들의 .ebextensions
디렉터리에 저장합니다. 구성 파일은 다음 작업을 수행합니다.
-
files
키는 인스턴스에 다음 파일을 만듭니다./etc/nginx/conf.d/https.conf
-
nginx 서버를 구성합니다. 이 파일은 nginx 서비스가 시작되면 로드됩니다.
/etc/pki/tls/certs/server.crt
-
인스턴스에 인증서 파일을 만듭니다.
인증서 파일 내용
을 본인의 인증서 내용으로 바꿉니다.참고
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
-
인스턴스에 프라이빗 키 파일을 만듭니다.
프라이빗 키 내용
을 인증서 요청 또는 자체 서명된 인증서를 만들 때 사용한 프라이빗 키 내용으로 바꿉니다.
예 .ebextensions/https-instance.config
files:
/etc/nginx/conf.d/https.conf:
mode: "000644"
owner: root
group: root
content: |
# 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://docker;
proxy_http_version 1.1;
proxy_set_header Connection "";
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;
}
}
/etc/pki/tls/certs/server.crt:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN CERTIFICATE-----
certificate file contents
-----END CERTIFICATE-----
/etc/pki/tls/certs/server.key:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN RSA PRIVATE KEY-----
private key contents
# See note below.
-----END RSA PRIVATE KEY-----
참고
프라이빗 키를 포함한 구성 파일을 소스 제어에 커밋하지 마십시오. 구성을 테스트하고 작동 여부를 확인한 후 Amazon S3에 프라이빗 키를 저장하고 배포 중에 다운로드하도록 구성을 변경합니다. 지침은 프라이빗 키를 Amazon S3에 안전하게 저장 단원을 참조하십시오.
단일 인스턴스 환경에서 포트 443의 트래픽을 허용하도록 인스턴스의 보안 그룹도 수정해야 합니다. 다음 구성 파일은 AWS CloudFormation 함수를 이용해 보안 그룹의 ID를 검색하고, 거기에 규칙을 추가합니다.
예 .ebextensions/https-instance-single.config
Resources:
sslSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 443
FromPort: 443
CidrIp: 0.0.0.0/0
로드 밸런싱된 환경에서 로드 밸런서가 안전한 트래픽을 그대로 통과시키거나 종단 간 암호화를 위해 암호 해독과 재암호화하도록 구성합니다.