tomcat 10 SSL 설정 ( multi ssl 적용 ) HTTP2 , TLS 1.3 적용

TOMCAT 10 버전에서는 HTTP2 , TLS 1.3 버전을 기본으로 제공한다
기존 8.X 버전에서는 HTTP2 프로토콜을 사용하려면 tomcat-native를 설치했어야 하는데 10 버전에서는 기본 제공한다
기존 8.x 버전 SSL 사용방법 -> https://xinet.kr/?p=1674
https://xinet.kr/?p=1674

환경 : Cenos 7.x
java : openjdk 11.x
tomcat : 10.0.11  -> tomcat 10.0.11 설치는 -> https://xinet.kr/?p=3267
tomcat 10 설치 java 11 , mariadb 연결 ( SSL , HTTP2 , TLS 1.3 )

– certbot (무료인증서) – openssl 이용하는 방법
– openssl 인증서 작업 후 이용하는 방법
– keytool를 이용해서 이용하는 방법
위 3가지 방법 중 첫번째와 두번째 방법을 권장한다

중요한것은 3개의 도메인이 모두 443 포트를 사용할수 있게 구성하는것 (하단 내용참고)

기본 java와 tomcat 설치되어 있다는 가정하에 진행 (설치는 위 링크에서 확인)

1. openssl을 이용하는 방법 ( 무료인증서 certbot 이용)  무료인증서 도메인 : tomcat10.xinet.kr  / 홈경로 : /home/xinet_test/html

2. 기존 tomcat 에서 HTTP2 를 사용하려면 tomcat-native 를 설치해서 이용했어야 하는데 이제 버전up 되면서 UpgradeProtocol className=”org.apache.coyote.http2.Http2Protocol 사용
기본 http11.Http11NioProtocol 보다 속도가 좀더 빠르다  -> 권장 http11.Http11Nio2Protocol 사용

20. tomcat 서비스 새시작 및 포트 확인 / 443 포트를 확인 할 수 있다

21. 웹페이지 확인 / https 통신이 되었으며 프로토콜도 http2 / h2 프로토콜을 사용함

ssl TLS 1.3 프로토콜 사용 확인

 

3. 만약 openssl을 이용하여 만든 인증서를  적용하려면 다음과 같이 적용하면 된다

기본 key 파일을 그대로 사용하면 암호 입력을 해야 하기 때문에 key 파일에 암호없이 사용할수 있게 openssl 명령어로 작업

CSR 파일이 생성되었으면 인증서 업체에 CSR 정보를 보내어 인증서 파일을 받으면 된다
보통 인증서, 체인인증서, ROOT 인증서를 받는다
개인인증서 : xinet.kr.crt
체인 인증서 : ChainFile_ChainBundle.crt

도메인 : www.xinet.kr /  홈경로 : /home/xinet_test2/html  / SSL 설정 뿐 아니라 가상호스트도 설정해줘야 한다

Certificate certificateKeyFile : 인증서 개인 key파일
certificateFile : 인증서 cert 파일
certificateChainFile : chain 인증서 파일

4. tomcat 재시작 및 웹페이지 확인

5. keytool를 이용하여 jks 형태로 만들어서 사용할때는 아래와 같이 구성

 -keyalg : 키알고리즘으로 RSA 을 지정합니다
-sigalg : 서명알고리즘으로 SHA256 을 지정합니다.
-alias : 대체 이름으로 영문 단어를 지정하며, 특수문자등은 사용하지 않아야 합니다.
-keystore : 개인키 파일

### CSR 생성

-keyalg : 키알고리즘으로 RSA 을 지정합니다
-sigalg : 서명알고리즘으로 SHA256 을 지정합니다.
-alias : 대체 이름으로 영문 단어를 지정하며, 특수문자등은 사용하지 않아야 합니다.
-keystore : 개인키 파일
-file : CSR 저장할 파일

### 서버 인증서JKS 포맷 조합

ROOT 인증서 -> 체인인증서 -> 개인인증서 순으로 jks으로 포맷 조합을 하면 된다.

tomcat  server .xml 파일을 열어서

웹 페이지에 정상적으로 출력 확인

다만 jks 형태보다는 openssl 형태를 권장한다

* 중요한것은 내가 이용하는 tomcat 서버에 SSL 사이트가 3개이상 존재하는데 모두 동일하게 443 포트를 사용하려고 한다
그럼 아래와 같이 설정을 하면 된다 ( tomcat ssl multi )
아래 양식을 잘 지켜야지 3개의 도메인이 정상적으로 올라오게 된다  /

혹시 모르니 가상호스트 부분도 참고할수 있게

웹페이지에서 확인하면 3개의 도메인이 모두 443포트를 사용하게 된다


코멘트 쓰기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



배송정보
배송조회를 하시려면 송장번호를 클릭하세요
배송조회
상품명
주문번호
택배사
송장번호