Springboot +超过SSL 100%CPU使用率

时间:2019-02-24 20:10:12

标签: java spring-boot ssl undertow

我制作的一个小型Web应用程序遇到了一些问题,几天前我投入了生产。当您访问该应用程序并与之交互时,几分钟后会立即崩溃(等待SSL握手的时间太长)。我使用了letencrypt证书。

问题似乎是Undertow在尝试使用SSLConduit.java类时会阻塞一些线程,这导致服务器的某些核心使用率为100%。

服务器中的Java版本为:

openjdk version "11.0.2" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.2+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+7, mixed mode)

SpringBoot版本为:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

application.properties文件:

server.port=9002
server.ssl.key-store=keystore.jks
server.ssl.key-store-password=password
server.ssl.key-password=password
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/example_db
spring.datasource.username=example_user
spring.datasource.password=password_db

下排版本是:

enter image description here

您的装备正在告诉这个:

enter image description here

enter image description here enter image description here

我尝试放置另一个证书,但是问题仍然存在。我不想更改为其他Web服务器(但是如果问题仍然存在,我会)。可以解决这个问题吗?还是必须更改应用程序服务器?

编辑:github中的相关PR:https://github.com/undertow-io/undertow/pull/721和JIRA中的问题:https://issues.jboss.org/browse/UNDERTOW-1493

0 个答案:

没有答案