-
aws Elastic Beanstalk 에 운영중인 서버 http에서 https로 전환하기개발/AWS & 서버 2020. 2. 13. 14:28
Elastic Beanstalk에 올려 운영중인 웹 사이트에 https를 적용하면서 헤맨 부분이 많았기에 블로그에 정리하고자 한다.
1).Htts란?
기존에 사용되던 http(HyperText Tranfer Protocol)에 SSL(HyperText Transfer Protocol over Secure Socket Layer)을 더하여 보안이 강화된 프로토콜
2).SSL은 또 뭐?
Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들어져 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용된다.
- SSL과 TLS은 같은 의미이고 SSL의 핵심은 암호화다. SSL은 보안과 성능상의 이유로 두가지 암호화 기법을 혼용해서 사용하고 있다.1. SSL 인증서 발급
AWS Certificate Manager - 인증서 요청
Amazon에서 발급해주는 SSL 인증서는 무료인 대신에, 해당 도메인의 DNS 서버로 Route53을 사용해야합니다. 따라서 인증서를 등록하기전에 Route53에 Hosted-Zone으로 사용할 도메인이 등록된 상태여야 합니다.
인증서 요청
도메인 추가
임의로 www.ssltest.com 이라는 주소를 등록했다고 가정하고
2. Load Balance 설정
Load Balance에서 이제 발급한 인증서를 적용해야하는데 Elastic BeansTalk에 서버를 올려 사용중이라면 해당 어플리케이션은 이미 Load Balance를 가지고 있을겁니다.
Elastic Beanstalk 해당 어플리케이션 - 구성 - 로드 밸런서 수정으로 들어갑니다.
리스너 추가
리스너 포트는 443, 리스너 프로토콜은 HTTPS로 설정하고 SSL인증서는 방금 발급 받은 인증서를 선택하면 됩니다.
로드 밸랜서 확인
Elastic Beanstalk에서 사용하는 load balance 해당 애플리케이션 상단에서 환경 ID값을 확인합니다.
제가 찾아가는 경로는 EC2 -> 좌측 로드 밸런싱 - 로드 밸랜서
검색에서 envielasticbeanstalk:environment-id : 환경 id 를 검색 (id 혹은 env 입력 후 선택 - id 복붙)
해당 Load balance 이름을 확인 할 수 있습니다. 이 이름은 Cloud Front 설정할 때 필요합니다.
4. CloudFront 설정
저는 hppt -> https 리다이렉트 설정은 Cloud Front합니다 (nginx의 config 설정이나 여러 방법이 있더군요.)
Create Distribution
Get Started
설정
Origin Domain Name을 아까 확인한 load Balace Name을 선택하고 Origin Id는 자동 입력된 값을 씁니다.
이후 설정은 아래와 같습니다.
와 같이 체크하고 생성합니다.
SSL Ceitificate는 custom으로 하여 발급한 인증서를 선택합니다.
(저같은 경우는 서울지역에서 생성한 인증서가 안보여서(global인데 왠지 모르겠...) 버지니아 북부지역에 추가했습니다)
찾아보니
Amazon에서 발급한 인증서를 사용하는 경우:
- 미국 동부(버지니아 북부) 리전에서 인증서를 요청해야 합니다.
- ACM 인증서를 사용하고 요청할 수 있는 권한이 있어야 합니다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/install-ssl-cloudfront/옵션에 관한 설명은 aws 홈페이지나 블로그에 자세히 나와있으니 확인하며 사용자에 맞게 설정하면 됩니다.
5. Route53 설정
Route53 -해당 도메인 선택 - 상단 레코드 생성 버튼
이름 설정 도메인
별칭 - 예
별칭대상 - CloudFront (보이지 않는다면 생성한 CloudFront Domain Name을 적어주면 됩니다)
6. 인바운드 설정
해당 서버 인바운드에 443 포트가 열려있지 않다면
해당 EC2 - 보안그룹 -편집
와 같이 추가합니다.
참고
'개발 > AWS & 서버' 카테고리의 다른 글
aws region별 핑 속도 측정 (0) 2020.04.20 url 포트번호 없이 사용 (prerouting) (0) 2020.04.17 AWS 배포환경에서 OOME 발생시 (0) 2020.04.16 aws SSH접속시 RSA 공유키 충돌 문제 - WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (0) 2020.01.29 개인 개발용 aws 생성 및 ftp 접속 (0) 2019.06.18 댓글