1) Creating the KeyStore
- 서버는 인증서가 반드시 있어야하는데 KeyStore를 만들고 인증서를 저장한다
- 자바에서는 keytool이라 불리는 command-line tool을 제공한다
- 이를 사용해서 KeyStore를 만들수 있고 여기에 인증서를 넣어 둘 수 있다
- 인증서로서 test목적으로 self-signed인증서를 사용한다 ( 자기 자신이 직접 서명한 인증서)
- keytool을 사용해서 self-signed인증서를 만들어서 KeyStore에 저장
1-1) keystore라는 디렉토리 생성

1-2) KeyStore 생성

1-3) 확인

※ JKS : Java에서 사용되는 KeyStore format
참고 자료

2) Configuring Tomcat to use SSL
2-1) server.xml의 SSL과 관련된 부분 주석 해제


- 이렇게 설정해주면 tomcat이 keystore를 접근해서 서버인증서를 가져 오게 됨
2-2) tomcat 재시작
1
2
$ cd /opt/tomcat/logs
$ cat catalina.out
->이런식으로 로그를 보면 길기 때문에 아래와 같이 새로 생성되는 로그 메시지들만 확인
1
$ tail -f /opt/tomcat/logs/catalina.out

터미널 하나 더 생성해서 sudo systemctl restart tomcat으로 tomcat재시작 수행 후 log메시지 확인

AWS 보안 그룹에서 8443포트 번호 열어주기


2-3) 8443포트로 HTTPS를 이용한 접속


※ 나중에 인증기관에서 정식으로 발급 받아야함!!!
※ Mac OS로 인하여 크롬 자체에서 안전한 페이지로 이동하는 것 조차 차단시킴

※ 참고 자료


3) Web.xml 설정(Limiting SSL Usage)
- 한 사이트로 htp, https 모두로 접근 할 수 있는건 바람직하지 않다
- 이에 대해서 Https만 제공하기 위해 설정이 필요함
3-1) Web.xml에 다음과 같이 설정


3-2) Tomcat 재시작

- 다음과 같이 HTTP 8080으로 접속해도 HTTPS 8443포트로 Redirection이 일어남


- conf/server.xml에 다음과 같이 Redirection을 설정하였기 때문에 Redirection이 일어남

※ 참고 자료

※ http로 구현시 password 메시지가 노출이 될 수 있기에 최근의 대부분 사이트들은 ssl을 사용하는 https로 연결함
※ CA에서 정식으로 인증서만 발급받아서 KeyStore에 저장하고 위와 같이 설정해주면 됨