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"/>-->
  • 相关阅读:
    【Linux】创建不可修改文件
    【Linux】文件权限
    【shell】创建长目录,目录存在则忽略,缺失则创建
    【Linux】找出文件之间的差异
    Segment fault及LINUX core dump详解 (zz)
    Segment fault及LINUX core dump详解
    communication ports in DOS systems:
    Ubuntu 16.04 LTS (Xenial Xerus)
    C++ 常见崩溃问题分析
    PC-Lint安装配置与集成到VS2010
  • 原文地址:https://www.cnblogs.com/qlqwjy/p/10446062.html
Copyright © 2011-2022 走看看