You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot默认TLS版本是多少?相关配置与版本说明咨询

Spring Boot TLS 版本相关问题解答

1. 环境支持TLS 1.3时,Spring Boot默认会使用它吗?

当server.ssl.protocol保持默认值TLS时,实际启用的TLS版本由JVM的默认配置决定。Java 11及以上版本的JVM默认启用了TLS 1.3(同时兼容TLS 1.2等旧版本),所以只要你的Spring Boot运行在Java 11+环境中,框架会优先和客户端协商使用TLS 1.3,协商失败才会降级到TLS 1.2等更低版本。

2. 如何查看项目当前使用的TLS版本?

有几种实用方法:

  • 日志查看法:添加DEBUG日志配置logging.level.org.springframework.boot.web.embedded.tomcat=DEBUG,启动项目后,在日志中查找Initializing ProtocolHandler相关输出,里面会列出实际启用的TLS协议版本列表。
  • 代码检测法:通过获取嵌入式服务器的连接器信息来查看,以Tomcat为例:
@Autowired
private ServletWebServerApplicationContext context;

@PostConstruct
public void checkTlsVersions() {
    TomcatWebServer webServer = (TomcatWebServer) context.getWebServer();
    Connector connector = webServer.getTomcat().getConnector();
    AbstractHttp11Protocol<?> protocol = (AbstractHttp11Protocol<?>) connector.getProtocolHandler();
    System.out.println("当前启用的TLS协议版本:" + String.join(", ", protocol.getEnabledProtocols()));
}
  • 外部工具检测:使用openssl s_client -connect 你的域名:端口命令,执行后输出内容里会显示握手成功使用的具体TLS版本。

3. 有没有对应Spring Boot版本的文档说明TLS版本?

Spring Boot官方文档不会直接列出默认TLS版本,因为这由底层JVM和嵌入式服务器(如Tomcat、Jetty)决定。不过你可以通过以下方式确认:

  • 对应嵌入式服务器的文档:比如Tomcat 9及以上版本在Java 11+环境下默认支持TLS 1.3,而Spring Boot不同版本对应固定的嵌入式服务器版本(如Spring Boot 2.2+默认用Tomcat 9,Spring Boot 3.x默认用Tomcat 10)。
  • Spring Boot官方文档仅明确server.ssl.protocol的默认值为TLS,表示使用JVM默认的TLS协议套件。

内容的提问来源于stack exchange,提问作者ymoreau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 00:25:19