Spring Boot에서 SSL 인증서 설정하기(localhost에서 https를!)

2024. 4. 22. 17:30·삽질 로그

1. 키 파일을 저장할 폴더로 이동

먼저, SSL 인증서 파일을 생성하고 저장할 폴더로 이동합니다.

2. 인증서 파일 생성

SSL 인증서 파일을 생성하기 위해 mkcert를 사용합니다.
먼저 mkcert -install 명령으로 인증서를 생성하고, 이후에 pkcs12 형식의 keystore 파일을 생성합니다.

mkcert -install

mkcert -pkcs12 -p12-file keystore.p12 localhost

이 과정을 통해 keystore.p12 파일이 생성됩니다.

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 설정을 추가한 후, 서버를 재시작하여 변경 사항이 적용되도록 합니다.

서버 재실행 후 http:8888로 접속 시 해당 문구가 나온다.
https:localhost:8888로 접속 시 정상적으로 접속된 것을 볼 수 있다.

이렇게 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 만으로 접속이 가능합니다.

localhost로 접속 시 정상적으로 접속된 것을 볼 수 있다.

'삽질 로그' 카테고리의 다른 글

WebConfig로 해결한 문자 인코딩의 미스터리  (2) 2024.04.18
특수 문자 오류 해결하기: Invalid character found in the request target  (1) 2024.04.03
'삽질 로그' 카테고리의 다른 글
  • WebConfig로 해결한 문자 인코딩의 미스터리
  • 특수 문자 오류 해결하기: Invalid character found in the request target
악덕
악덕
우당탕탕 개발 블로그
  • 악덕
    버그와 함께 춤을
    악덕
  • 전체
    오늘
    어제
    • 전체 (24) N
      • TIL (1) N
      • 개발 노트 (18)
        • Java (5)
        • JavaScript (1)
        • Spring (4)
        • Linux (1)
        • etc. (7)
      • 문제 풀이 (0)
      • 삽질 로그 (3)
      • 기타 (2)
  • 링크

    • GitHub
    • project.zip
    • 밀로(millo)
  • 태그

    gdg
    java
    프로그래밍언어
    객체지향 프로그래밍
    springboot
    OOP
    solid 원칙
    java persistence api
    macos linux
    JPA
    i/o extended
    프로그래밍
    ssl
    ports and adapters
    자바기초
    웹개발
    자료형
    macos ubuntu
    Spring Data JPA
    invalid character found in the request target
  • hELLO· Designed By정상우.v4.10.3
악덕
Spring Boot에서 SSL 인증서 설정하기(localhost에서 https를!)
상단으로

티스토리툴바