TOMCAT에 SSL 구동 및 SSL 여러개 사이트 운용시 적용 방법
먼저 TOMCAT에 SSL을 사용하기 위해서는 JAVA / TOMCAT 이 설치되어 있어야 한다.
해당 부분은 다음 링크를 통해서 설치 진행하면 된다
https://xinet.kr/?p=1621 ( JAVA + TOMCAT + HTTPD + MYSQL 연동작업 )
무료 인증서은 let’sEncrypt는 인증서는 apache나 nginx에서 사용가능한 인증서인데 우리가 사용하려는 것은
tomcat에서의 인증서이다. 먼저 pem 인증서를 받은 후 openssl 를 이용하여 pkcs12 형태로 변경후 JKS 형태로 변환해서 사용
tomcat은 JKS, PKCS11,PKCS12 포맷의 keystore를 지원한다.
JKS 포맷은 jdk에 포함되어 있는 keytool 명령어로 사용하여 생성할 수 있다.
PKCS12 포맷은 인터넷 표준방식이며 openssl를 사용하여 생성 할 수 있다.
1. SSL을 사용하기 위해서 Certbot을 이용하여 무료 인증서를 발급 받자 ( pem 인증서)
2. 인증서가 저장되어 있는 디렉토리로 이동하여 openssl를 이용하여 pkcs12 방식으로 변환 후 jks 포맷
3. 제없이 변환이 되었다면 keytool 명령어로 확인해보자.
4. 이제 tomcat에 ssl을 적용하기 위해서 server.xml 파일을 열어서 아래와 같이 <connector> 있는 곳 아래에 내용을 추가
5. tomcat 재시작 및 ssl 포트 확인 및 웹페이지에서 사이트 확인 HTTPS로 확인
위와 같이 https://jsp.xinet.kr 로 접속시 ssl이 적용된것을 확인 할 수 있다
6. tomcat의 instance는 1개이며 tomcat에서 여러개의 ssl 사이트를 운용을 하게 될 경우 ssl포트를 변경해서 증가시키면 된다
웹서버인 apache의 경우 virtualhost를 이용하여 모두 443포트를 이용할 수 있지만 tomcat은 그렇게 되지가 않네 ( 이부분은 좀더 연구..ㅠㅠ)
구성은 간단하게 웹서버의 가상호스트 설정하고 tomcat 역시 가상호스트 설정
6-1. 먼저 apache 서버의 가상호스트 설정
6-2 tomcat의 server.xml ssl 설정 및 가상호스트 설정
7. tomcat 서버 재시작 및 웹서버(apache) 재시작 및 포트 확인
웹상에서 확인
tomcat 8.5 에서 SSL 사용시 JKS PKCS12 방식을 이용한 SSL 적용방법
여기 사이트에서 확실하게 확인 —-> https://xinet.kr/?p=1674