HTTPS 설정
✔ AWS 설정
1. Route 53 -> 호스팅 영역 -> 호스팅 영역 생성
2. 호스팅 영역 설정 및 생성
도메인 이름 : 구입한/할 도메인 이름
설명 : 필요시 입력
나머지 : Default
3. Route 53 -> 호스팅 영역 -> 생성한 호스트 세부 정보 -> 레코드 생성
4. 레코드 생성 설정 및 생성
값 : EC2 Public IP
나머지 : Default
5. 유형 NS 값/트래픽 라우팅 대상 복사
✔ 가비아 설정
1. 도메인 구매
2. My 가비아 -> 도메인 -> 관리 -> 네임서버 설정
3. AWS에서 복사한 NS 값/트래픽 라우팅 차례대로 입력
✔ 서버 설정
1. certbot 설치
➡ sudo snap install --classic certbot
2. certbot을 통한 SSL 인증서 발급
➡ sudo certbot certonly --standalone
3. 인증서 위치로 이동
➡ cd /etc/letsencrypt/live/four-cut.store
4. SSL 인증서를 Spring boot에 사용할 수 있게 PKCS12로 변환
➡ openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name tomcat -CAfile chain.pem -caname root
5. 생성된 keystore.p12을 Spring Project로 옮겨오기
✔ Spring Project 설정
1. resource/ssl 경로에 keystore.p12 저장
2. application.properties에 설정
➡ server.ssl.key-store=classpath:ssl/keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=비밀번호
이슈
💢 인바운드 규칙을 설정해 줬는데도 80 Port에 접근이 불가능하다는 에러가 발생했다.
✅ certbot은 Port 80을 사용하는 가상 서버를 열어 인증 절차를 진행한다는 것을 알았다. 그래서 다른 프로그램이 80 Port를 사용하고 있으면 안 되었다. 기존에 떠 있는 80 Port 사용 프로그램을 종료함으로 해결했다.
참고
생각
https를 적용하는 것은 블로그를 따라 하니 어렵지는 않았다. 하지만 단순하게 따라만 해 봤기 때문에 이론적인 것은 부족하다. 시간이 생긴다면 https와 ssl에 관련해서 공부를 해보면 좋을 것 같다.
'개발일지 > TIL' 카테고리의 다른 글
[230720] [미니] 모여봐요 인생네컷 Jenkins Git Submodule Clone 문제 (0) | 2023.07.20 |
---|---|
[230719] [미니] 모여봐요 인생네컷 Git에서 application. properties 보안 (0) | 2023.07.20 |
[230717] [미니] 모여봐요 인생네컷 CI/CD 구성 (3) (0) | 2023.07.17 |
[230716] [미니] 모여봐요 인생네컷 CI/CD 구성 (2) (0) | 2023.07.16 |
[230715] [미니] 모여봐요 인생네컷 CI/CD 구성 (1) (0) | 2023.07.15 |