Framework & Library/Spring & Spring Boot

[Spring Boot] SSL과 443 port 설정하기

just-e 2020. 11. 4. 12:50

[Spring Boot] SSL과 443 port 설정하기

 

 

참조!

  • 이 부분은 도메인과 IP가 localhost(127.0.0.1)가 아닐 때만 적용됩니다.
  • localhost(127.0.0.1)일 때는 추후 포스팅 예정입니다.

 

SSL과 443포트를 적용하게 되었는데 443 포트가 계속 안 붙어서 슬퍼하다가
저랑 비슷한 상황이신 분들도 계실꺼 같아서 경험한 것을 토대로 포스팅합니다!

 

포스팅 내용 순서!

  1. 인증서 추출하기 - .p12
  2. 443 -> 8443 포트로 port forwarding하기!
  3. application.properties 설정하기
  4. https:URL 로 접근 성공!

포스팅 내용!

1. 인증서추출하기 - .p12

  • keytool로 jks파일에서 pkcs12형태로 키 추출하기
    (.jks 파일이 있다는 것을 기준으로 합니다)
1
2
3
 
keytool -importkeystore -srckeystore "aaa.aaaa.jks" -destkeystore "aaa.aaaa.p12" -deststoretype PKCS12
 
cs
Error 참조! - 위 명령어 작성시, 아래와 같은 에러날시!
   & keytool 오류: java.io.IOException: Keystore was tampered with, or password was incorrect 
      --> 답변: 추출한 .jks 파일의 비번과 동일하지 않아서 생기는 에러이니 같은 비밀번호로 지정하면 됩니다
잠깐! 간단 설명!
! jsk란?
      --> SSL 암호화를 위해 쓰이는 key들을 모아놓은 파일이며, Client와 Server가 통신할 때 통신 내용을 안전하게 보호하는 방법으로 SSL(Secure Sockets Layer)이 있습니다.
! keytool란?
      --> keytool은 keystore라는 일종의 DB를 관리하는 프로그램입니다.

 

 

2. 443 -> 8443 포트로 port forwarding하기!

1
2
3
4
 
sudo firewall-cmd --zone=public --add-forward-port=443:proto=tcp:toport=8443 --premanent
sudo firewall-cmd --reload
 
cs
! 제가 사용하는 Ubuntu 18.04 운영체제는 firewalld가 설치되어 있어서 firewall을 사용해 포트포워딩했습니다.

 

3. application.properties설정하기

1
2
3
4
5
6
7
 
server.port=8443
security.require-ssl=true
server.ssl.key-store-type=PKCS12
server.ssl.key-store=Pkcs12파일
server.ssl.key-store-password=key-store비밀번호
 
cs

 

  1. https://proper.proper.com 으로 접근하면 성공!

    도메인하고 로컬주소로 접근 가능합니다.
만약 접속 안되시는 분들!!
! 만약
 접속이 안된다면 아래와 같이 firewall 설정 부분을 확인하셔야 합니다!
   1) 포트확인하기
      ! sudo ufw status

   2) 방화벽 활성화시키기
      ! sudo ufw enable
   3) 443포트 열기
      ! sudo ufw allow 443

! firewall 설정후 다시 https://도메인주소 로 접근하시면 됩니다!

T.M.I 시간!

! 포트포워딩 방식과 authbind를 이용한 방법중 무엇으로 설정할까.. 하다가 포트포워딩 방식을 채택했습니다.

  (이건 그냥 궁금해하실까봐 ㅋㅋㅋ)

! 포스팅 보러오신 분들중, authbind 방식으로 하시려고 하시는 분들이 계실까봐 관련 주소를 첨부합니다~

   주소: https://www.baeldung.com/tomcat-change-port