springboot添加https服务器的方法

作者:big_sea_m 时间:2022-08-19 06:14:31 

什么是https

要说https我们得先说SSL(Secure Sockets Layer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密。SSL协议可以分为两层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议如TCP之上,为高层协议提供数据封装、压缩、加密等基本功能支持;SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际数据传输开始之前,通信双方进行身份认证、协商加密算法、交换加密密钥等。在Web开发中,我们是通过HTTPS来实现SSL的。HTTPS是以安全为目标的HTTP通道,简单来说就是HTTP的安全版,即在HTTP下加入SSL层,所以说HTTPS的安全基础是SSL,不过这里有一个地方需要小伙伴们注意,就是我们现在市场上使用的都是TLS协议(Transport Layer Security,它来源于SSL),而不是SSL,只不过由于SSL出现较早并且被各大浏览器支持因此成为了HTTPS的代名词,。你可以把HTTPS和SSL的关系理解成iPhone和富土康的关系,大概就是这样哈。

在安卓开发中发现很多App都是https访问,为了自己方便测试,自己搭建一个简单的https服务器。

首先使用keytool生成证书,该生成的证书会被检测到有风险,自己使用无所谓啦:)

keytool -genkey -alias tomcat  -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore keystore.p12 -validity 3650

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
 public EmbeddedServletContainerFactory servletContainer() {
   TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
     @Override
     protected void postProcessContext(Context context) {
       SecurityConstraint securityConstraint = new SecurityConstraint();
       securityConstraint.setUserConstraint("CONFIDENTIAL");
       SecurityCollection collection = new SecurityCollection();
       collection.addPattern("/*");
       securityConstraint.addCollection(collection);
       context.addConstraint(securityConstraint);
     }
   };
   tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
   return tomcat;
 }
 private Connector initiateHttpConnector() {
   Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
   connector.setScheme("http");
   connector.setPort(8080);
   connector.setSecure(false);
   connector.setRedirectPort(8443);
   return connector;
 }

在安卓端访问也可以用下面方法


// 生成jks证书
keytool -genkey -alias tomcat -keyalg RSA -keystore dahai_server.jks -validity 3600 -storepass 123456

生成签名文件


keytool -export -alias tomcat -file dahai_server.cer -keystore dahai_server.jks -storepass 123456

总结

以上所述是小编给大家介绍的springboot添加https服务器的方法网站的支持!

来源:http://blog.csdn.net/big_sea_m/article/details/78525745

标签:spring,boot,https
0
投稿

猜你喜欢

  • Java流程控制之循环结构for,增强for循环

    2023-11-03 10:45:20
  • Java 使用 HttpClient 发送 GET请求和 POST请求

    2023-07-23 07:56:13
  • 详细聊聊SpringBoot中动态切换数据源的方法

    2023-11-24 04:07:49
  • 不看后悔!揭秘游戏服务器开发

    2023-08-22 16:20:30
  • SpringMVC接收多个对象的4种方法

    2023-11-23 06:24:18
  • Java抛出异常与自定义异常类应用示例

    2022-10-23 01:58:52
  • Springboot - Fat Jar示例详解

    2023-11-19 21:28:35
  • java中SynchronizedList和Vector的区别详解

    2023-08-23 10:13:12
  • SpringDataJPA在Entity中常用的注解介绍

    2023-11-27 09:40:36
  • java基础--自己动手实现一个LRU

    2023-06-25 18:21:04
  • 双重检查锁定模式Java中的陷阱案例

    2023-11-13 22:11:02
  • Java MongoDB数据库连接方法梳理

    2023-11-25 01:01:20
  • 面试初级Java开发问到Arrays

    2023-11-27 05:40:04
  • Java 获取网络302重定向URL的方法

    2022-03-25 15:19:46
  • 一文教会你使用jmap和MAT进行堆内存溢出分析

    2023-11-06 08:01:57
  • java数据结构与算法之noDups去除重复项算法示例

    2023-06-19 08:50:34
  • 浅谈c++性能测试工具之计算时间复杂度

    2023-07-09 12:40:05
  • java字符串常用操作方法(查找、截取、分割)

    2023-11-29 03:21:13
  • JPA save()方法将字段更新为null的解决方案

    2023-10-28 22:29:28
  • IntelliJ IDEA中查看当前类的所有继承关系图

    2023-08-06 12:40:19
  • asp之家 软件编程 m.aspxhome.com