톰캣 SSL(HTTPS) 설정

톰캣에 HTTPS 접속이 가능하도록 설정하려면 인증서가 필요합니다. 인증서는 keytool을 이용해서 사설인증서를 생성하겠습니다. keytool을 사용하기 위해 Java 사이트에서 jdk를 설치 합니다.


http://www.oracle.com/index.html


jdk설치 완료 후 환경 변수 메뉴에서 jdk의 bin경로를 환경 변수에 추가해 줍니다.



keytool -genkey -alias KeystoreAlias -keysize 2048 -keyalg RSA -keystore realforce111.jks -dname "CN=me.co.kr, OU=team, O=company, L=seoul, ST=seoul, C=kr" -validity 3650


cmd창에서 keytool을 이용해서 인증서를 생성 합니다.


* keytool 옵션
keysize : 2048 로 설정하면 서명 알고리즘이 sha256 으로 설정됨.
keyalg : 키교환 알고리즘 설정
keystore : 인증서 파일명 설정
validity : 인증 기간 설정


생성한 인증서를 서버에 업로드 합니다.



<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
 maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
 clientAuth="false" sslProtocol="TLS" ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_A

ES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_A

ES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES

_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,T

LS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"

 keystoreFile="/usr/share/tomcat8/cert/realforce111.jks" keyAlias="KeystoreAlias"

 keystoreType="JKS" keystorePass="realforce111"
/>


server.xml 파일 내용 중 8443 port 부분의 주석을 해제 하고 내용을 추가 합니다.


keystoreFile : 인증서 파일이 저장 된 경로
keystorePass : 인증서 파일 페스워드


톰캣 서비스를 재시작 합니다.


브라우저로 https://서버 IP:8443 에 접속하여 https가 제대로 동작하는지 확인 합니다.