【问题标题】:Spring Boot: Tomcat Embedded with HTTP/2 and TLSSpring Boot:嵌入 HTTP/2 和 TLS 的 Tomcat
【发布时间】:2017-04-22 12:27:47
【问题描述】:

我尝试在 Windows 10 机器上使用 HTTP/2 和 TLS 配置 Tomcat Embedded 8.5.8。 tcnative-1.dll 和 openssl.exe 都包含在 PATH 环境变量中。 但是,我得到了以下堆栈跟踪。任何提示表示赞赏。

... 12:31:39.418 INFO [o.a.t.u.n.NioSelectorPool] [main] Using a shared selector for servlet write/read 12:31:39.424 INFO [o.a.c.h.Http11NioProtocol] [main] The ["https-openssl-nio-8444"] connector has been configured to support negotiation to [h2] via ALPN 12:31:39.424 INFO [o.a.c.h.Http11NioProtocol] [main] Initializing ProtocolHandler ["https-openssl-nio-8444"] 12:31:39.462 ERROR [o.a.c.c.StandardService] [main] Failed to start connector [Connector[HTTP/1.1-8444]] org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8444]] at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225) [tomcat-embed-core-8.5.8.jar:8.5.8] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:233) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:178) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545) [spring-context-5.0.0.M3.jar:5.0.0.M3] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at de.hska.kunden.Microservice.main(Microservice.java:53) [main/:?] Caused by: java.lang.UnsatisfiedLinkError: org.apache.tomcat.jni.Pool.create(J)J at org.apache.tomcat.jni.Pool.create(Native Method) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.openssl.OpenSSLEngine.<clinit>(OpenSSLEngine.java:72) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.openssl.OpenSSLUtil.getImplementedProtocols(OpenSSLUtil.java:61) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.SSLUtilBase.<init>(SSLUtilBase.java:53) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.openssl.OpenSSLUtil.<init>(OpenSSLUtil.java:41) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.openssl.OpenSSLImplementation.getSSLUtil(OpenSSLImplementation.java:36) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:91) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:81) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:245) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:875) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:213) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:558) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:65) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.catalina.connector.Connector.initInternal(Connector.java:968) ~[tomcat-embed-core-8.5.8.jar:8.5.8] at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) ~[tomcat-embed-core-8.5.8.jar:8.5.8] ... 13 more

【问题讨论】:

    标签: tomcat spring-boot tomcat8


    【解决方案1】:

    虽然这可能无法解决您的问题,但您使用的是哪个版本的Spring Boot? 我在尝试将 Tomcat 从 8.5.6 提升到 8.5.8 时遇到了问题,就像一个端口已经在使用中一样。你能使用TomcatSpring Boot正在使用的默认版本吗?

    【讨论】:

    • 我使用的是 Spring Boot 1.4.2。我明天试试Tomcat 8.5.6。
    • 与 8.5.6 相同的问题。
    猜你喜欢
    • 2019-05-26
    • 1970-01-01
    • 2014-12-13
    • 2018-12-06
    • 2018-05-28
    • 2018-07-02
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多