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

Spring Boot 3嵌入式Tomcat中如何设置HTTPS SSL加密套件优先级

Spring Boot 3.x 配置Tomcat服务器端加密套件优先级替代方案

Spring Boot 3.x适配的Tomcat 10.1+版本中,AbstractHttp11Protocol类的setUseServerCipherSuitesOrder方法已被移除,相关SSL配置逻辑统一迁移到SSLHostConfig类中,你可以通过以下方式实现服务器端加密套件优先级设置:

  • 调整WebServerFactoryCustomizer实现逻辑
    继续使用WebServerFactoryCustomizer接口,但将配置目标切换为SSLHostConfig,示例代码如下:

    import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
    import org.springframework.boot.web.server.WebServerFactoryCustomizer;
    import org.springframework.stereotype.Component;
    
    @Component
    public class TomcatSslCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
    
        @Override
        public void customize(TomcatServletWebServerFactory factory) {
            factory.addConnectorCustomizers(connector -> {
                // 获取或创建SSLHostConfig实例
                org.apache.tomcat.util.net.SSLHostConfig sslHostConfig = connector.findSslHostConfigs().length > 0 
                    ? connector.findSslHostConfigs()[0] 
                    : new org.apache.tomcat.util.net.SSLHostConfig();
                
                if (connector.findSslHostConfigs().length == 0) {
                    connector.addSslHostConfig(sslHostConfig);
                }
                // 启用服务器端加密套件优先级排序
                sslHostConfig.setHonorCipherOrder(true);
            });
        }
    }
    
  • 保留原有配置参数
    application.properties中的server.ssl.ciphers配置无需修改,Spring Boot 3.x会自动将该参数传递给Tomcat的SSLHostConfig,与上述代码的配置配合生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:07:08