springboot项目 同时支持http、https
2017-12-07 14:06
761 查看
证书获取:
keytool-genkey-aliastomcat-storetypePKCS12-keyalgRSA-keysize2048-keystorekeystore.p12-validity3650
根据提示信息填写后会生成一个PKCS12格式的叫做keystore.p12的证书,之后启动SpringBoot时会引用这个证书
将生成的证书keystore.p12放置在classpath路径下
application.properties文件增加如下配置
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=123456
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias:tomcat
若为application.yml,则相应增加如下配置
运行服务器,会看到打印如下:
此时访问https链接,提示如下:
表明配置成功。不安全的提示,是因为证书是免费的。
此时访问http地址是不成功的。让我们的应用支持HTTP是个好想法,但是需要重定向到HTTPS。
这需要在配置类中配置一个TomcatEmbeddedServletContainerFactorybean,代码如下:
@Bean
publicEmbeddedServletContainerFactoryservletContainer(){
TomcatEmbeddedServletContainerFactorytomcat=newTomcatEmbeddedServletContainerFactory(){
@Override
protectedvoidpostProcessContext(Contextcontext){
SecurityConstraintsecurityConstraint=newSecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollectioncollection=newSecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
returntomcat;
}
privateConnectorinitiateHttpConnector(){
Connectorconnector=newConnector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(5555);
connector.setSecure(false);
connector.setRedirectPort(8443);
returnconnector;
}
运行服务器,会看到打印如下:
访问http://localhost:5555会自动跳转到https://localhost:8443表明配置成功
keytool-genkey-aliastomcat-storetypePKCS12-keyalgRSA-keysize2048-keystorekeystore.p12-validity3650
根据提示信息填写后会生成一个PKCS12格式的叫做keystore.p12的证书,之后启动SpringBoot时会引用这个证书
将生成的证书keystore.p12放置在classpath路径下
application.properties文件增加如下配置
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=123456
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias:tomcat
若为application.yml,则相应增加如下配置
运行服务器,会看到打印如下:
此时访问https链接,提示如下:
表明配置成功。不安全的提示,是因为证书是免费的。
此时访问http地址是不成功的。让我们的应用支持HTTP是个好想法,但是需要重定向到HTTPS。
这需要在配置类中配置一个TomcatEmbeddedServletContainerFactorybean,代码如下:
publicEmbeddedServletContainerFactoryservletContainer(){
TomcatEmbeddedServletContainerFactorytomcat=newTomcatEmbeddedServletContainerFactory(){
protectedvoidpostProcessContext(Contextcontext){
SecurityConstraintsecurityConstraint=newSecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollectioncollection=newSecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
returntomcat;
}
privateConnectorinitiateHttpConnector(){
Connectorconnector=newConnector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(5555);
connector.setSecure(false);
connector.setRedirectPort(8443);
returnconnector;
}
运行服务器,会看到打印如下:
访问http://localhost:5555会自动跳转到https://localhost:8443表明配置成功
相关文章推荐
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- Spring Boot支持tomcat服务器,支持http、https(ssl、tls)双协议,支持双端口
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- Spring Boot支持Jetty服务器,支持http、https(ssl、tls)双协议,支持双端口
- Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- SpringMvc和SpringBoot配置Tomcat支持Https
- node如何让一个端口同时支持https与http
- 简单的用jdbc使spring boot项目同时连接Oracle和Mysql数据源
- springboot搭建项目之日志AOP,支持日志内容可配置控制(黑名单字段不会打印或其他处理方式)
- 使用http://start.spring.io/生成springboot项目无法引入springboot的jar包
- nginx 监听一个端口同时支持https和http
- tomcat同时支持http和https访问
- springboot 整合web项目支持jsp
- SpringBoot结合ActiveMQ(同时支持Queue和Topic)