1. 키 파일을 저장할 폴더로 이동
먼저, SSL 인증서 파일을 생성하고 저장할 폴더로 이동합니다. 이는 인증서 파일을 쉽게 관리하고 나중에 Spring Boot 프로젝트에 적용하기 위함입니다.
2. 인증서 파일 생성
SSL 인증서 파일을 생성하기 위해 `mkcert`를 사용합니다. 먼저 `mkcert -install` 명령으로 인증서를 생성하고, 이후에 `pkcs12` 형식의 keystore 파일을 생성합니다.
mkcert -install
mkcert -pkcs12 -p12-file keystore.p12 localhost
이 과정을 통해 `keystore.p12` 파일이 생성됩니다. 이 파일은 Spring Boot 애플리케이션에서 SSL을 설정하는 데 사용됩니다.
3. 파일을 Spring Boot 프로젝트에 저장
생성된 `keystore.p12` 파일을 Spring Boot 프로젝트의 `src/main/resources` 폴더에 저장합니다. 이 경로로 파일을 이동시키면, 애플리케이션 설정에서 쉽게 참조할 수 있습니다.
4. `application.yml`에 SSL 설정 추가
이제 Spring Boot 애플리케이션의 `application.yml` 파일에 SSL 설정을 추가합니다. `server.ssl.key-store`로 `keystore.p12` 파일의 경로를 지정하고, `key-store-password`를 설정합니다.
server:
port: 8888
# port: 443
ssl:
key-store: classpath:keystore.p12
key-store-password: changeit
key-store-type: PKCS12
SSL 설정을 추가한 후, 서버를 재시작하여 변경 사항이 적용되도록 합니다.
이렇게 SSL 설정을 완료하면, Spring Boot 애플리케이션에서 HTTPS를 통해 보안된 연결을 사용할 수 있습니다.
5. 추가사항
server:
# port: 8888
port: 443
ssl:
key-store: classpath:keystore.p12
key-store-password: changeit
key-store-type: PKCS12
해당 코드처럼 포트를 8888이 아닌 443으로 설정한다면 포트 없이 localhost 만으로 접속이 가능하다.
Spring Boot 애플리케이션에서 SSL 인증서를 설정하는 과정은 복잡할 수 있지만, 위 단계를 따르면 간편하게 구성할 수 있습니다.
'Framework > Spring' 카테고리의 다른 글
JPA에서 트랜잭션 처리 및 데이터베이스 격리 수준 (0) | 2024.07.19 |
---|---|
Spring Data JPA 이해하기: 주요 구성 요소와 어노테이션 (0) | 2024.07.19 |
JPA 이해하기: 동작 원리와 핵심 구성 요소 (0) | 2024.07.19 |
Spring의 WebConfig로 해결한 문자 인코딩의 미스터리 (2) | 2024.04.18 |
Spring Boot 웹 애플리케이션에서 특수 문자 오류 해결하기: java.lang.IllegalArgumentException: Invalid character found in the request target 문제 접근법 (1) | 2024.04.03 |