spring boot tomcat 配置
1、yml文件配置 略
2、实现TomcatServletWebServerFactory 接口bean
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.setPort(8080);
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,"页面"));
Session session = new Session();
session.setTimeout(Duration.ofMillis(300));//
factory.setSession(session);
3、SSL 配置
keytool -genkey -alias tomcat
@Bean
public TomcatServletWebServerFactory serverFactory(){
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(){
@Override
protected void postProcessContext(Context context) {
SecurityConstraint constraint = new SecurityConstraint();
constraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
constraint.addCollection(collection);
context.addConstraint(constraint);
}
};
factory.addAdditionalTomcatConnectors(httpConnector());
return factory;
}
@Bean
public Connector httpConnector(){
Connector connector = new Connector("org.apache.coyote.http11.Htpp11NoiProtocol");
connector.setScheme("http");
connector.setPort(8080);
connector.setSecure(false);
connector.setRedirectPort(8433);
return connector;
}
实现http://8080 也会跳转到https://8433