메이븐은 일정한 순서대로 빌드를 수행한다.
- 자바 소스 코드 컴파일
- 1의 결과물인 클래스 파일을 작업 폴더 target/classes로 옮김
- 단위 테스트
- 앱 실행
SSL(Secure Sockets Layer)
인터넷에서 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜
SSL
보안 소켓 계층을 이르는 말로, 인터넷에서 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜이다. 인터넷 프로토콜(Internet protocol)이 보안면에서 기밀성을 유지하지 못한다는 문
terms.naver.com
간단하게 말하면 들어오고 나가는 데이터들을 암호화하는 보안 기능을 갖고 있는 보안 인증서 라고 할 수 있다.
HTTPS(Hypertext Transfer Protocol Over Secure Socket Layer)
HTTP에 SSL을 적용하여 데이터 전송기능의 보안을 강화한 전송기능이라고 보면 된다.
SSL 인증이 된 도메인이 https:// 주소를 가질 수 있다.
[프로젝트] 프로젝트 앱에서 HTTPS 프로토콜 보안 통신이 가능하게끔 SSL 기능을 통합하여 배포해보자
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/040.gif)
내 프로젝트에서
(ch9 참고)
① src/main/resources/keystore.jks 파일을 생성
② 자가 서명 키스토어(self-signed keystore) 만들기
SSL을 적용하려면 자가 서명 키스토어 파일이 필요하다. 프로젝트 루트 폴더에서 다음 명령을 실행하여 생성하면 된다.
$ keytool -genkey -alias tomcat -keyalg RSA -keystore src/main/resources/keystore.jks
여기서 key-store-password와 key-password를 설정해준다. application.properties에 적어 넣어야 하니 잊으면 안된다.
③ application.propreties 설정
server.port = 8443
server.ssl.key-store = classptah:keystore.jks
server.ssl.key-store-password = 키스토어 비밀번호
server.ssl.key-password = 키 비밀번호
ssl을 가동하기 위해 키스토어, 키스토어 비밀번호, 키 비밀번호를 기재한다.
서버 포트가 8443이기 때문에 접속 URL은 https://localhost:8443이다.
④ 앱 실행 후 SSL 테스트
스프링 부트 앱을 실행하고나서 로그를 보면 톰캣 서버가 8443 포트를 리스닝하고 있다. 시동 후 https://localhost:8443에 접속하면 비공인 SSL 인증서라 사용자에게 경고하는 차원에서 오류 비슷한 화면을 내보내는데, 고급 탭을 눌러 계속 진행하면 사이트에 접속할 수 있다.
'BOOK REVIEW > 실전 스프링 부트 워크북' 카테고리의 다른 글
[실전 스프링 부트 워크북] 스프링 부트와 도커 (0) | 2021.08.20 |
---|---|
[실전 스프링 부트 워크북] CH12 스프링 부트 배포 - JAR 만들기 & WAR 만들기 (0) | 2021.08.19 |
[실전 스프링 부트 워크북] CH6. 스프링 부트 테스트 (0) | 2021.08.16 |
[실전 스프링 부트 워크북] CH5. 스프링과 스프링 부트 (0) | 2021.08.15 |
[실전 스프링 부트 워크북] 스프링부트 애플리케이션 구성 알아보기 / 스프링 부트 프로젝트 따라하기 (0) | 2021.08.14 |