zoukankan      html  css  js  c++  java
  • Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求

      SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

    1.生成证书

      使用JDK的bin目录下的keytool生成,关于keytool简单使用方法如下:

    这里只研究其生成证书的方法,生成证书的命令是-genkey,如下:

     上面也都解释了每个参数的意思,下面研究其生成:

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

      注意:上面的名字与姓氏应该输入的是域名,其他密码需要输入,而且需要记住,其他地区信息可以不写。

     代码此将生成名为keystore.p12的PKCS12密钥库文件,证书别名为tomcat。

     

     2.Springboot中使用上面的证书

    将上面的证书复制到项目中,我是放在项目 根路径,如下:

     配置application.properties使用SSL:

    ############################################################
    #
    # HTTPS相关配置
    #
    ############################################################
    server.ssl.key-store:keystore.p12
    server.ssl.key-store-password: 111222
    server.ssl.keyStoreType: PKCS12
    server.ssl.keyAlias: tomcat

      当然可以以     ver.ssl.key-store=G:/keystore.p12  的方式指定证书位置。

    启动测试:

    3.在独立的tomcat中使用SSL配置https访问

      这个需要重新生成key,也就是上面的key在独立的tomcat中会报错。

    1.再次生成key:

    keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "g:	omcat.keystore"

     2.tomcat中server.xml配置SSL访问

        <!-- Define a SSL HTTP/1.1 Connector on port 8443
             This connector uses the BIO implementation that requires the JSSE
             style configuration. When using the APR/native implementation, the
             OpenSSL style configuration is required as described in the APR/native
             documentation -->
        <!--
        <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
                   maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" />
        -->
        <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"  
                   maxThreads="150" scheme="https" secure="true"  
                   clientAuth="false" sslProtocol="TLS"   
                    keystoreFile="G:/tomcat.keystore"  
                    keystorePass="111222" /> 

    3.启动访问测试:

    https访问:

     http访问:

    4.http的默认端口是80,https默认的端口是443;接下来我们配置tomcat只支持https访问

    将http端口请求注释掉即可。

      <!--<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>-->
      <!--<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>-->
  • 相关阅读:
    SQL Server索引进阶:第十二级,创建,修改,删除
    SQL Server索引进阶第十一篇:索引碎片分析与解决
    Object.create()和new object()和{}的区别
    vue 前后端分离nginx部署
    实现组件props双向绑定解决方案
    prop不同数据类型设置默认值
    vue + element ui 阻止表单输入框回车刷新页面
    Vue.js中 watch(深度监听)的最易懂的解释
    vue-resource和axios区别
    JS中 reduce() 的用法
  • 原文地址:https://www.cnblogs.com/qlqwjy/p/10446062.html
Copyright © 2011-2022 走看看