본문 바로가기

개발일지/TIL

[230718] [미니] 모여봐요 인생네컷 HTTPS 설정

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 사용 프로그램을 종료함으로 해결했다.

참고

 

SpringBoot 무료 SSL 인증서 적용하기 (Certbot)

1. 필요성 SSL 인증서 없이 웹 어플리케이션을 서버에 올리면 http로 접속이 되고 아래와 같은 경고가 나타난다. "주의요함" 클릭해보면 보안이 취약하다는 문구가 뜨는게 내가 만들었지만 들어가

subbak2.com

생각

https를 적용하는 것은 블로그를 따라 하니 어렵지는 않았다. 하지만 단순하게 따라만 해 봤기 때문에 이론적인 것은 부족하다. 시간이 생긴다면 https와 ssl에 관련해서 공부를 해보면 좋을 것 같다.