springboot2.0同时支持http与https

2018-09-03  本文已影响0人  深山一猎户

实际项目中可能需要同时支持http和https两种协议模式,这里只介绍springboot2.0及以上版本的实现方式。


springboot2.0以后取消了EmbeddedServletContainerFactory的方式,开放了ServletWebServerFactory接口,代码如下:

1、在properties文件中增加如下配置:

http.port = 80

server.port=443
server.ssl.key-store=keystore.p12
server.ssl.key-store-password=111111
server.ssl.keyStoreType=PKCS12

2、在SpringBootApplication中增加代码:

@Value("${http.port}")
private Integerport;

@Bean
public ServletWebServerFactoryservletContainer() {
    TomcatServletWebServerFactory tomcatServletWebServerFactory =new         TomcatServletWebServerFactory();         
    Connector connector =new         Connector("org.apache.coyote.http11.Http11NioProtocol");      
    connector.setPort(port);     tomcatServletWebServerFactory.addAdditionalTomcatConnectors(connector);     return tomcatServletWebServerFactory;
}

在启动后,可以看到80与443两个端口,都已启动。


上一篇 下一篇

猜你喜欢

热点阅读