컴퓨터를 공부하고자 마음먹은지 N일차

[135일차]AWS s3(정적웹호스팅)에서 https적용하는법 본문

🗃AWS

[135일차]AWS s3(정적웹호스팅)에서 https적용하는법

졸린새 2021. 1. 27. 04:21
728x90

AWS s3에서 https적용하는법

우선 s3에 버킷을 만들고 빌드한 프로젝트를 넣으면,
엔드포인트를 제공해주는데, 이 엔드포인트는 기본적으로 https를 제공하지않는다.
그런데 요즘 시대에 https로 되어있지 않은 사이트를 찾는게 더 힘들다.
그래서 서버도 https통신을 써야하는것은 물론, 클라이언트도 반드시 사용을해줘야,
중간자공격을 막을 수 있다.
다행히도 s3은 매우쉬운방법으로 https통신을 쓰도록 만들 수 있다.
버킷설정은 생략하겠다.

도메인 발급받기

우선 https를 사용하기 위해선,
aws에서 적당한 도메인을 생성해줘야한다.
서비스 검색을 통해 Route53 을 가보자.

도메인 등록을 눌러준다.

제일 싼 click으로 해주자...
예행연습이니까 뭐..

눈물을 머금고 결제해준다.

여차저차 구매를 하고,

이거는 선택사항인것임


좀기다리면 이런이메일이 올것이다.
바로 밑에있는 링크 클릭하면된다

등록된 도메인을 확인하면, 자신의 도메인이 등록된걸 볼 수 있다.
도메인 등록까지 시간이 조금 걸린다.

자신의 도메인에 들어가서 설정을 해줘야한다.

호스팅 영역으로 가주자.

레코드 생성을 눌러주고,

마법사로 전환해준다.

단순라우팅 선택
--->

단순 레코드 정의 선택

위그림의 설명과 같다.
레코드 유형은 IP주소유형에따라 달리선택해주면 된다.

그리고 레코드 생성을 눌러주자.

그럼 내가 생성한 버킷이 만든 레코드이름으로 접속이 가능한걸 볼 수있다.

인증서 발급하기

https는 알다시피 key.pem과 cert.pem파일이 필요하다.
그런데 mkcert로 발급받은걸 쓸려고하면 aws는 그딴건 안받는다고 한다.
그래서 AWS는 자체적으로 인증서를 발급하는 Certificate Manager 가 존재한다.
우선 이동하면,

이런 화면이 뜬다. 인증서 프로비저닝을 선택해주자.

공인인증서 요청을 선택하고 넘어간다.

이런식으로 발급받은 도메인앞에 *.를 쓴다면, 모든서브도메인을 보호할 수 있다.

DNS검증을 선택해준다.

그럼 우선 검증보류라고 뜨는데, 밑에 Route53에서 레코드 생성이보인다.
자동으로 추가해주자.

검증을 하기위한 레코드로 따로 생성이 된거같은데,
저렇게 버튼을 눌러주면 자동으로 생성된다.
그리고 도메인을 확인할때까지 한숨 자자.

조금 기다리면 발급이 완료됐다고 뜬다.

Cloudfront 설정

로컬에서는 인증서 경로를 직접 불러와서 진행해줬다.
이역시 aws에서는 경로를통해 발급받은 인증서를 활용할 수 없기에,
Cloudfront를 설정해줘야한다.

우선 (Cloudfront)[https://console.aws.amazon.com/cloudfront/home?#]로 드가자.
createDistribution을 누르면,

위와같은 창이 뜰것이다. start해주자.

Origin Domain Name 에는 자신의 버켓중 하나가 뜰것이다.
인증서를 추가해주기 원하는 버켓을 선택하자.

저 밑줄친 부분을 Redirect HTTP to HTTPS 로 해준다.
그 외에는 신경쓸 부분은 없고, Distribution Settings 부분이 보일거다.
Altername Domain Names에는 구매한 도메인명을 넣어주고,
Cutom SSL Certificate를 선택한 후, Default Root Object에 index.html을 넣어준다.

status가 deployed가 될때까지 무수히 기다린다(좀걸림)

Deployed가 됐다면,
Route 53으로 다시가서 레코드의 별칭을 CloudFront로 바꿔준다.

짜잔 그럼 https를 성공적으로 적용시킬 수 있다.

'🗃AWS' 카테고리의 다른 글

[137일차]aws ec2환경에 https적용하기  (0) 2021.01.28
Comments