Tomcat 에서 SNI 방식 SSL 인증서 Server.xml 설정 예

기술자료, 설치/적용 이슈 주요 사례

Tomcat 8.5 + Java 1.7 이상인 환경에서 작동시 아래와 같은 설정이 가능합니다. 동일 포트에 대해서 각기 다른 SSL 인증서 설정이 가능합니다. 오래된 디바이스 / 웹브라져 에서는 호환성 문제가 있으므로, 적용 전 미리 SSL 포트 접속 클라이언트 환경을 검토할 필요가 있습니다.

 

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" defaultSSLHostConfigName="www.domain.com">
        <SSLHostConfig hostName="www.domain.com">
            <Certificate certificateKeystoreFile="경로/www.sslcert.co.kr_인증서.jks" 
certificateKeystorePassword="jks암호"
type="RSA" /> </SSLHostConfig> <SSLHostConfig hostName="www.url.net"> <Certificate certificateKeystoreFile="경로/www.securesign.kr_인증서.jks"
certificateKeystorePassword="jks암호"
type="RSA" /> </SSLHostConfig> </Connector>

 

defaultSSLHostConfigName 는, 여러 SSLHostConfig 중에 하나의 hostName 값을 지정하면 되며, 위 설정에서 표기되지 않은 그외 Property 는 기존 서버 설정값 또는 Tomcat 서버 매뉴얼을 참조하여 적용하시기 바랍니다.

APR 모드로 작동시에는, protocol 에서  Http11AprProtocol 을 사용해야 합니다. APR 모드에서는 .pem 파일을 직접 적용 가능합니다.

hostName 은 지정된 인증서의 DNS Name에 포함되어 있는 도메인 FQDN 중에 하나 이어야 합니다.

설정 적용후 웹서버 시작시 웹서버 시스템/콘솔 로그를 필히 확인하여 오류/경고가 발생하는 경우, 해당 오류과 관련된 설정을 Tomcat 매뉴얼을 참조하여 변경/적용 하셔야 합니다.


참고로, SecureSign 에서는 'CSR자동생성' 으로 SSL 인증서 발급 신청시, .jks 포맷 파일도 함께 제공하며, .jks 에는 '개인키+서버인증서+체인인증서+루트인증서' 가 모두 포함되어 있습니다.

https://www.sslcert.co.kr/faq/view/172

 

[참고자료]
User Agent Capabilities https://www.ssllabs.com/ssltest/clients.html
SSL/TLS Capabilities of Your Browser https://www.ssllabs.com/ssltest/viewMyClient.html

 

컨텐츠의 무단 전재/복사 및 이메일 주소의 수집/이용을 허용하지 않습니다.
bitSyrup 2023. All rights reserved.