ssl 적용후 서버 구동 에러

내부시스템 ssl 적용 설정 테스트중에 톰캣 구동시 에러가발생합니다

현재 사용중인 웹한글기안기의 톰캣 버전은 8.5.99이며

타시스템의 톰캣(9.0)을 활용해 구동시 해당 에러가 발생하지 않습니다

확인해볼 사항이 있을까요

24-Mar-2026 10:41:15.513 SEVERE [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[“https-jsse-nio-8080”]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[“https-jsse-nio-8080”]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:419)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:130)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:564)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:127)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:861)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:127)
at org.apache.catalina.startup.Catalina.load(Catalina.java:596)
at org.apache.catalina.startup.Catalina.load(Catalina.java:619)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:302)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:472)
Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.buf.UriUtil.isAbsoluteURI(Ljava/lang/String;)Z
at org.apache.tomcat.util.file.ConfigFileLoader.getInputStream(ConfigFileLoader.java:77)
at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:203)
at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:254)
at org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:301)
at org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:261)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:108)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:72)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:207)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1328)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1341)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:235)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:695)
at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:76)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:1073)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:127)
… 12 more

안녕하세요

에러의 핵심 원인은 아래 부분입니다.

Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.buf.UriUtil.isAbsoluteURI(Ljava/lang/String;)Z

이 에러는 Tomcat 내부 클래스 간 메서드 시그니처 불일치로 발생합니다.
즉, Tomcat 8.5.99의 특정 내부 모듈 버전이 혼재되어 있을 가능성이 높습니다.

구체적으로는 ConfigFileLoader.getInputStream() → SSLUtilBase.getStore() 호출 흐름에서 UriUtil.isAbsoluteURI() 메서드를 찾지 못하고 있습니다. 이는 tomcat-util.jar(또는 tomcat-coyote.jar) 버전이 실제 구동 중인 catalina.jar 버전과 맞지 않을 때 발생하는 전형적인 증상입니다.

확인해보실 사항은 아래와 같습니다.

  1. 웹한글기안기 배포 패키지에 포함된 Tomcat 8.5.99의 lib 디렉토리 내 jar 파일들이 모두 동일한 8.5.99 버전인지 확인해 주세요.
    특히 아래 파일들의 버전을 교차 확인하시기 바랍니다.

    • catalina.jar
    • tomcat-coyote.jar
    • tomcat-util.jar
    • tomcat-util-scan.jar
  2. Tomcat lib 디렉토리 외부(예: WEB-INF/lib, 공통 클래스패스 등)에 다른 버전의 Tomcat 관련 jar가 혼입되어 있지 않은지 확인해 주세요.
    클래스로더 우선순위에 따라 구버전 jar가 먼저 로드되면 이 에러가 발생합니다.

  3. Tomcat 9.0에서는 문제가 없다고 하셨는데, 이는 9.0에서 해당 메서드 시그니처가 변경되거나 해당 호출 경로 자체가 달라졌기 때문입니다.
    8.5.x 계열 내에서도 패치 버전 간 내부 API가 변경된 경우가 있으므로, 웹한글기안기 공식 배포본의 Tomcat jar를 그대로 사용하고 있는지 재확인이 필요합니다.

추가로, SSL 설정 적용 전에는 해당 코드 경로(SSL 초기화)가 실행되지 않아 문제가 잠복해 있다가 SSL 적용 후에 처음 노출된 것으로 보입니다.
SSL 설정 자체의 문제보다는 jar 버전 혼재 문제일 가능성이 높습니다.

웹한글기안기 배포 패키지 내 Tomcat을 초기 상태로 재구성한 뒤 SSL 설정만 다시 적용해 보시는 것을 권장드립니다.

감사합니다.