以前关于如何在Spring Boot 2.x中配置自签名证书的示例大致如下:
@Component
public class MyTomcatWebServerFactoryCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory server) {
server.addConnectorCustomizers(connector -> {
Http11NioProtocol proto = (Http11NioProtocol) connector.getProtocolHandler();
proto.setSSLEnabled(true);
proto.setKeystoreFile(CERTIFICATE_PATH);
proto.setKeystorePass(CERTIFICATE_PASSWORD);
proto.setKeystoreType(KEYSTORE_TYPE);
proto.setKeyAlias(CERTIFICATE_ALIAS);
});
}
}
Spring Boot 3 升级到 Tomcat 10,移除了 Http11NioProtocol 基类的 setKeystoreFile、setKeystorePass、setKeystoreType 和 setKeyAlias 方法,我现在还在苦苦寻找在新环境下配置这些参数的正确方法。我已尽力在网上搜索,但仍然无法找到替代方法。