邻水网站建设,网站模板flash,深圳家装网站建设多少钱,app制作平台哪个好用文章目录1. 简介2. 证书生成3. 证书引入4. 创建测试index5. 配置6. 创建配置类7. 创建控制器测试8. 浏览器验证1. 简介
传输层安全性协议#xff08;英语#xff1a;Transport Layer Security#xff0c;缩写作 TLS#xff09;#xff0c;及其前身安全套接层
#xff08…
文章目录1. 简介2. 证书生成3. 证书引入4. 创建测试index5. 配置6. 创建配置类7. 创建控制器测试8. 浏览器验证1. 简介
传输层安全性协议英语Transport Layer Security缩写作 TLS及其前身安全套接层
Secure Sockets Layer缩写作 SSL是一种安全协议目的是为互联网通信提供安全及数
据完整性保障。网景公司Netscape在1994年推出首版网页浏览器网景导航者时推出HTTPS
协议以SSL进行加密这是SSL的起源。IETF将SSL进行标准化1999年公布第一版TLS标准文
件。随后又公布RFC 5246 2008年8月与 RFC 6176 2011年3月。在浏览器、电子邮件、
即时通信、VoIP、网络传真等应用程序中广泛支持这个协议。主要的网站如Google、
Facebook等也以这个协议来创建安全连接发送数据。目前已成为互联网上保密通信的工业标准。SSL包含记录层Record Layer和传输层记录层协议确定传输层数据的封装格式。传输层安全
协议使用X.509认证之后利用非对称加密演算来对通信方做身份认证之后交换对称密钥作为会谈
密钥Session key。这个会谈密钥是用来将通信两方交换的数据做加密保证两个应用间通信的
保密性和可靠性使客户与服务器应用之间的通信不被攻击者窃听。在配置TLS/SSL之前我们需要拿到相应签名的证书测试实例可以使用Java 下面的 Keytool 来生成证书
2. 证书生成
打开控制台输入
keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650这里的别名是 keystore.p12密码什么的直接设置就好然后回车
3. 证书引入
然后根据路径找到生成好的证书把证书复制到项目里我是放到了这里
4. 创建测试index
放好证书后建立一个index.html放到resources/templates文件夹下一会用于测试。
5. 配置
再配置application.properties
server.port8888
server.tomcat.uri-encodingutf-8
server.servlet.context-path/demoserver.ssl.key-storekeystore.p12
server.ssl.key-store-password123456
server.ssl.key-store-typePKCS12
server.ssl.key-aliastomcatspring.thymeleaf.prefixclasspath:/templates/6. 创建配置类
Configuration
public class HttpsConfig {/*** spring boot 1.0*//* Beanpublic EmbeddedServletContainerFactory servletContainer() {TomcatEmbeddedServletContainerFactory tomcat new TomcatEmbeddedServletContainerFactory() {Overrideprotected void postProcessContext(Context context) {SecurityConstraint constraint new SecurityConstraint();constraint.setUserConstraint(CONFIDENTIAL);SecurityCollection collection new SecurityCollection();collection.addPattern(/*);constraint.addCollection(collection);context.addConstraint(constraint);}};tomcat.addAdditionalTomcatConnectors(httpConnector());return tomcat;}*//*** spring boot 2.0* return*/Beanpublic TomcatServletWebServerFactory servletContainer() {TomcatServletWebServerFactory tomcat new TomcatServletWebServerFactory() {Overrideprotected void postProcessContext(Context context) {SecurityConstraint constraint new SecurityConstraint();constraint.setUserConstraint(CONFIDENTIAL);SecurityCollection collection new SecurityCollection();collection.addPattern(/*);constraint.addCollection(collection);context.addConstraint(constraint);}};tomcat.addAdditionalTomcatConnectors(httpConnector());return tomcat;}Beanpublic Connector httpConnector() {Connector connector new Connector(org.apache.coyote.http11.Http11NioProtocol);connector.setScheme(http);//Connector监听的http的端口号connector.setPort(8080);connector.setSecure(false);//监听到http的端口号后转向到的https的端口号connector.setRedirectPort(8888);return connector;}}7. 创建控制器测试
Controller
RequestMapping
public class ViewControlller {GetMapping(index)public String index(){return index;}
}值得注意的是加入的springboot jar的版本不同代码有一定的改变我这里用的是2.0的版本还有就是要想跳转到html页面的时候一定注意的就是千万不要在Controller中用RestController而是要用Controller如果用RestController的话就会直接把你的index解析显示在页面当中就不会跳转了还有就是想要跳转的话一定要加入下面的两个jar包 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId/dependency准备完毕后启动项目打印台显示
8. 浏览器验证
从控制台可以看出 http地址为http://127.0.0.1:8080/demo/index https地址为https://127.0.0.1:8888/demo/index 再输入 127.0.0.1:8080/demo/index就会自动跳转