일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- spring
- Java
- 문자열
- 스프링 부트
- HashMap
- 인텔리제이
- docker
- 명령어
- dfs
- spring boot
- 도커
- 구름LEVEL
- 자료구조
- 스프링부트
- 이직
- 주니어
- bfs
- 프로그래머스
- 백엔드
- 스타트업
- 해시맵
- 개발자
- Linux
- 해결
- 스프링
- HTTP
- 구현
- 코딩테스트
- 배열
- IntelliJ
- Today
- Total
마이의 개발 블로그
[AWS] Elastic Beanstalk 인스턴스 HTTP에서 HTTPS로 전환하기 본문
배경
테스트를 위한 도메인 연결을 하던 중 HTTPS로의 전환이 필요하여 절차를 간단히 정리해보았다.
이미 Elastic Beanstalk(EB) 인스턴스 생성, 도메인 연결, SSL인증서 발급이 완료되었다는 가정 하에 내가 지정한 도메인으로 접속 시 HTTP를 HTTPS로 전환하기 위해 필요한 절차를 정리해보았다. application 로드밸런서를 기준으로 한다.
설정을 통해 만들고자 하는 전반적인 플로우
1. (HTTP 리스너를 통해) HTTP로 진입
2. (HTTP 리스너에서 설정된 규칙을 통해) HTTPS로 리디렉션
3. (HTTPS 리스너를 통해) HTTPS로 진입
4. (HTTPS 리스너에서 설정된 규칙을 통해) 리디렉션된 페이지에서 해당 인스턴스로 포워드
절차
Elastic Beanstalk
1. AWS - Elastic Beanstalk 진입
2. 좌측 환경 이름 - 구성(configuration) - 로드 밸런서 편집 메뉴 진입
3. 리스너 추가 (port: 443, protocol: https, SSL인증서 선택, SSL 정책 선택, process 지정)
4. 하단 프로세스 default는 그대로 놔둠. HTTPS로 전환 x (port: 80, protocol: HTTP)
5. 리스너 추가 완료 후 하단 주황색 적용버튼 클릭 후 작업 완료까지 대기
EC2 - 리스너 액션 추가
6. 작업 완료 후 AWS - EC2 진입
7. 좌측 메뉴 하단 로드밸런싱 - 로드밸런서 진입 - 테이블에서 앱에 해당하는 로드밸런서 클릭
8. 하단 리스너 탭에서 HTTP : 80, HTTPS : 443 추가여부 확인 (Elastic Beanstalk 로드밸런서에 등록한 항목과 일치해야함)
9. 로드밸런서 메뉴 - HTTP : 80 항목의 체크박스 클릭 - 편집 - Default actions 추가 - Redirect
10. Redirect 메뉴에서 Itemized URL 선택, HTTPS : 443 입력, 옵션값 Original host, path, query 선택, Status code 301 선택 후 저장
11. 로드밸런서 메뉴 - HTTP : 443 항목의 체크박스 클릭 - 편집 - Default actions 추가 - Forward to
12. 타겟 그룹에 해당 인스턴스가 포함된 HTTP 타겟 그룹 설정, SSL인증서 및 정책 일치여부 확인 (Elastic Beanstalk 인스턴스 로드밸런서 443포트 설정 내용과 일치해야 함)
EC2 - 타겟 그룹에 인스턴스 추가
13. 로드밸런서 메뉴 - HTTPS : 443 항목 우측의 규칙 컬럼 - (다음으로 전달 중:) 타겟그룹 클릭
14. 테이블에서 필터된 타겟 그룹명 클릭
15. 하단 Targets 탭 - Register targets 클릭 - 원하는 인스턴스 체크박스 클릭 후 Include as pending below 버튼 클릭 - 하단 우측 Register pending targets클릭
16. 타겟그룹에 인스턴스 등록 완료 후 인증서와 연결된 도메인에서 HTTPS 적용 여부 확인
17. 작업 완료
'개발지식 > Web' 카테고리의 다른 글
[HTTP] 응답코드 200 대신 304가 뜨는 이유 (브라우저 캐싱) (2) | 2023.02.01 |
---|---|
[Swagger] Token "Component" does not exist 에러 대처 방법 (2) | 2023.01.16 |
[Web] HTTP 응답 상태 코드 (HTTP response status code) (0) | 2022.11.01 |
[Web] 쿠키(cookie)와 세션(session) (0) | 2022.03.07 |
[Web] REST (Representational State Transfer) 정리 (0) | 2022.02.23 |