springboot添加https服务器的方法
什么是https
要说https我们得先说SSL(SecureSocketsLayer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密。SSL协议可以分为两层:SSL记录协议(SSLRecordProtocol),它建立在可靠的传输协议如TCP之上,为高层协议提供数据封装、压缩、加密等基本功能支持;SSL握手协议(SSLHandshakeProtocol),它建立在SSL记录协议之上,用于在实际数据传输开始之前,通信双方进行身份认证、协商加密算法、交换加密密钥等。在Web开发中,我们是通过HTTPS来实现SSL的。HTTPS是以安全为目标的HTTP通道,简单来说就是HTTP的安全版,即在HTTP下加入SSL层,所以说HTTPS的安全基础是SSL,不过这里有一个地方需要小伙伴们注意,就是我们现在市场上使用的都是TLS协议(TransportLayerSecurity,它来源于SSL),而不是SSL,只不过由于SSL出现较早并且被各大浏览器支持因此成为了HTTPS的代名词,。你可以把HTTPS和SSL的关系理解成iPhone和富土康的关系,大概就是这样哈。
在安卓开发中发现很多App都是https访问,为了自己方便测试,自己搭建一个简单的https服务器。
首先使用keytool生成证书,该生成的证书会被检测到有风险,自己使用无所谓啦:)
keytool-genkey-aliastomcat -storetypePKCS12-keyalgRSA-keysize2048 -keystorekeystore.p12-validity3650
1.-storetype指定密钥仓库类型
2.-keyalg生证书的算法名称,RSA是一种非对称加密算法
3.-keysize证书大小
4.-keystore生成的证书文件的存储路径
5.-validity证书的有效期
然后根据提示填写信息就可以了
再在springboot的配置文件中添加https的配置
server.port=8443 server.ssl.key-store=classpath:keystore.p12 server.ssl.key-store-password=123456 server.ssl.keyStoreType=PKCS12 server.ssl.keyAlias=tomcat
简单配置以上就可以了
可以将http重定向到https,做如下配置就OK啦这里写代码片
@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(8080); connector.setSecure(false); connector.setRedirectPort(8443); returnconnector; }
在安卓端访问也可以用下面方法
//生成jks证书 keytool-genkey-aliastomcat-keyalgRSA-keystoredahai_server.jks-validity3600-storepass123456
生成签名文件
keytool-export-aliastomcat-filedahai_server.cer-keystoredahai_server.jks-storepass123456
总结
以上所述是小编给大家介绍的springboot添加https服务器的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!