前言
关于spring boot同时支持http和https访问,在这里,我向大家讲述一下,我是怎么实现的。
相关配置
server.http.port==443
server.port=80
创建配置类
@Configuration
public class TomcatConfig {
@Value("${server.http.port}")
private int httpPort;
/* --------------------请按照自己spring boot版本选择 start--------------------- */
// 这是spring boot 1.5.X以下版本的 添加了这个,下一个就不用添加了
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
return tomcat;
}
// 这是spring boot 2.0.X版本的 添加这个,上一个就不用添加了
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
return tomcat;
}
/* --------------------请按照自己spring boot版本选择 end--------------------- */
/**
* @Description: 支持 http 和 https 两个端口
* @Param:
* @Author: shk
* @Date: 2020/10/15
*/
private Connector createStandardConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(httpPort);
return connector;
}
}
启动项目,会发现有两个端口号(http:443、 https: 80)