- S3 정적 웹 사이트 호스팅은 리다이렉트 시 https를 지원안함
- HTTPS를 사용하려면 CloudFront 를 사용해야함
//============
* CloudFront 의 문제
- 파일을 지워도 한동안 계속 보임
- 업로드 해도 바로 반영이 안됨
- 게시판에 맞지 않음
- 해결책 : 일단 s3의 풀주소로 올린후, 시간이 지난다음에 CloudFront의 리다이렉트 주소로 링크를 변경하는 꼼수
- S3의 사이트 인증 설정이 적용안됨 <-- 결정적인 문제
//====================
// 적용 방법
1) CloudFront 콘솔
https://console.aws.amazon.com/cloudfront/home (한국어 지원안됨)
Create Distribution 선택
-> Web : Get Strated 버튼
Origin Domain Name : S3 버킷 선택
-> 일단 Create Distribution 버튼 선택
- Alternate Domain Names (CNAMEs)은 잠시 후에 수정으로 설정
설정후 20분 가량 걸림
CloudFront 콘솔
Distribution Status 상태에 In Progress 가 사라지고 Deployed로 바뀔때까지 기다린다.
//=======================
2) Route53 에서 CNAME 추가
cf.example.com (예시 도메인)
Alias = NO
xxx.cloudfront.net
- 이전에 S3 연결을 대체하는 것이라면 S3 주소대신 CloudFront 주소를 적는다.
3) 인증서 생성
- CloudFront 에서 생성한 서비스 수정
- CloudFront Distributionst 선택 -> Edit
- 인증서 추가
Custom SSL Certificate (example.com): 를 선택하기 위해서는 인증서 필요
- 인증서 관리자(Certificate Manager) 에서 이미 필요한 인증서가 생성되어 있는지 확인 https://console.aws.amazon.com/acm/home?region=us-east-1#/
인증서는 버지니아 북부(us-east-1) 리전에 있는것만 가능
Request or Import a Certificate with ACM 버튼 클릭
인증서 요청
도메인 이름 추가
*.example.com 으로 * (와일드 카드) 문자를 사용가능
'이 인증서에 다른 이름 추가' 버튼을 누르면 여러 도메인을 추가할수 있다
과정을 끝낸후 Route 53 에서 설정 버튼
- Route 53 에 자동으로 추가됨
인증서 관리자에서 해당 도메인의 상태가 '발급 완료'로 나올때 까지 기다림(5분?)
4) Alternate Domain Names (CNAMEs) 추가
- CloudFront 에서 생성한 서비스 수정 다시 시도
Alternate Domain Names (CNAMEs) 에 cf.example.com 입력하고 맨 아래 'Yes, Edit'를 누르면
- 에러 메시지가 나오지만, 정보가 갱신된다.
Custom SSL Certificate (example.com): 를 체크 가능
아래칸의 인증서 입력란 : 리스트 중 선택 하거나 인증서 ARN을 직접 적는다.
인증서 ARN은 인증서 관리자에서 확인 가능
https://console.aws.amazon.com/acm/home?region=us-east-1#/
5) CloudFront 콘솔 에서 대기
Distribution Status 상태에 In Progress 가 사라지고 Deployed로 바뀔때까지 기다린다. (30분?)
6) 확인
https://cf.example.com 로 접속하면 에러 발생
S3 버킷에 파일을 업로드 하고 퍼블릭으로 설정
해당 링크에서 도메인 부분을 설정한 도메인으로 변경해서 접속 시도
https://cf.example.com/folder/pub.txt
//===================
// 참고
https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/WebsiteHosting.html
Amazon S3 웹사이트 엔드포인트는 HTTPS를 지원하지 않습니다
CloudFront를 사용하여 Amazon S3 버킷에 대한 HTTPS 요청을 처리하려면 어떻게 해야 합니까?
https://aws.amazon.com/ko/premiumsupport/knowledge-center/cloudfront-https-requests-s3/
//==========================
* 한 CloudFront 에 여러 도메인 연결 방법
- Alternate Domain Names (CNAMEs) 도메인 추가 방법
CloudFront 콘솔 -> Distributions 선택 -> edit
Alternate Domain Names(CNAMEs) 의 새로운 행에 도메인 이름 추가
Custom SSL Certificate (example.com): 아래 입력란에 인증서 ARN 직접 입력
인증서 ARN은 인증서 관리자에서 확인 가능
인증서는 추가한 도메인까지 인증을 포함하고 있어야 한다.
'Code > Web' 카테고리의 다른 글
MongoDB 사용법 (0) | 2019.07.14 |
---|---|
[Node.js] 노드 설치, 업그레이드 (0) | 2019.07.13 |
[AWS] URL 주소 리다이렉트 하는 방법 (0) | 2019.05.28 |
php, javascript 정오 비교, 3항 연산자 (0) | 2019.05.07 |
파이어폭스 부가기능 에러 해결방법 (0) | 2019.05.05 |