传输层安全性协议(英语:transport layer security,缩写作 tls),及其前身安全套接层(secure sockets layer,缩写作 ssl)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障。
SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。
传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。
这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。
第一步:生成证书
在配置 TLS/SSL 之前需要先拿到相应的签名证书,配置了JAVA开发环境,可以使用 Java 下面的 Keytool 来生成证书,打开控制台输入:
keytool -genkey -alias michaelSpica -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore E:TempmichaelSpica.p12 -validity 3650
-alias 别名(可随便取)
-storetype 指定密钥仓库类型
-keyalg 生证书的算法名称,RSA是一种非对称加密算法
-keysize 证书大小
-keystore 生成的证书文件的存储路径(相对路径或绝对路径)
-validity 证书的有效期
如图:
注:正式环境中请填写标准值
第二步:获取证书
根据路径找到生成好的证书,把证书复制到项目里,如图:
第三步:增加SSL配置
在 application.yml 中添加如下配置,如图:
第四步:配置https访问
添加Spring Boot启动时,读取配置信息,如
(注:请添加必要的jar)
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-thymeleaf
登录后复制
package com.michael.protocol.config;import org.apache.catalina.connector.Connector;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;import org.springframework.boot.web.servlet.server.ServletWebServerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * Created by michael on 2019/2/23. */@Configurationpublic class TomcatConfig { @Value("${server.http.port}") private int httpPort; @Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http return tomcat; } private Connector createStandardConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setPort(httpPort); return connector; }}
登录后复制
注:这是 spring boot 2.0.X 版本的
至此,所有工作已经完成,启动项目,如:
可以看到两个端口,说明已经成功,即可通过以下两种方式进行访问:
https://localhost:443
http://localhost:80
以上就是SpringBoot中怎么实现配置SSL的同时支持http和https访问的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2626186.html