启用TLS的Spring Boot应用程序变得非常慢

时间:2019-12-19 10:02:46

标签: java spring spring-boot ssl https

我们有一个Spring Boot应用程序,在启用TLS之前,该应用程序运行正常。我们使用默认的Tomcat服务器和以下配置:

server:
  port: 443
  ssl:
    key-store-type: PKCS12
    key-store: D:\store\config\ssl\key.p12
    key-store-password: password
    key-alias: thekey

我们可以通过HTTPS毫无问题地访问服务器。前端对后端和远程服务器执行一些REST调用。我们注意到的一些事情希望对您有所帮助:

  • 通过Firefox,它的速度似乎比Chrome快5倍;
  • 有些请求没有问题,例如从后端请求数据以进行概述(由查询支持);
  • 其他请求(例如登录和注销)需要很长时间(在Chrome上注销可能需要40秒钟的时间);

获取上述概述并不是一件容易的事,它具有循环,检查等功能,但速度非常快,但是例如,在注销时,有一个自定义处理程序和诸如if (authentication instanceof UsernamePasswordAuthenticationToken)if (userSession != null)或投射类似User user = (User) authentication.getPrincipal();之类的内容,每个过程都需要5秒钟。

尝试使用Jetty,在yaml文件中定义密码,并将antMatcher添加到requireChannel,但这没有任何帮助。我们已禁用CSRF,所有请求都需要一个安全通道:

.anonymous().disable()
.csrf().disable()
.requiresChannel().anyRequest().requiresSecure()

如果您还有其他问题可能会帮助您确定问题,请告诉我。

也许值得一提的是,其中还涉及一个websocket,因为某些内容需要在远程服务器响应后发送到前端,不确定是否会更改任何内容。

谢谢!

0 个答案:

没有答案
相关问题