HTTPS
로 서비스를 운영하기 위해서 SSL 인증서
를 직접 만들기보다는 일반적으로 신뢰할 수 있는 기관들로부터 비용을 지불하고 SSL 인증서를 발급받는다.
하지만 프로젝트를 위해 그럴 수는 없으니 로컬에서 keytool 도구를 이용해서 SSL 인증서를 생성할 수 있다.
임의로 만든 SSL 인증서이기 때문에 실제 서비스에 사용할 수 없으며 로컬의 테스트 용도로만 활용해야 한다.
(keytool은 Java 설치 경로 bin 디렉토리 아래에 위치함)
keytool -genkey -alias [keystore 별칭] -keyalg RSA -storetype PKCS12 -keystore [keystore 파일]
keytool -export -alias [keystore 별칭] -keystore [keystore 파일] -rfc -file [인증서 파일]
keytool -import -alias [trust keystore 별칭] -file [인증서 파일] -keystore [trust keystore 파일]
keystore 파일
과 trust keystore 파일
을 인텔리제이 프로젝트 경로 중 src/main/resources/
에 복사해서 SSL 인증서를 적용한다.application.yml
에서 server.port를 8080에서 443으로 변경server:
port: 443 # HTTPS
ssl:
enabled: true
key-alias: [keystore 별칭]
key-store: classpath:[keystore 파일]
key-store-password: [key-store password]
key-password: [key password]
trust-store: classpath:[trust keystore 파일]
trust-store-password: [trust store password]
INFO 8364 --- [ main] o.s.b.w.e.undertow.UndertowWebServer :119 : Undertow started on port(s) 443 (https)
INFO 8364 --- [ main] com.prgrms.devcourse.Application :61 : Started Application in 4.458 seconds (JVM running for 7.563)
https://localhost
접속정상 적용하는 것을 확인