zoukankan      html  css  js  c++  java
  • springBoot2.x启用https和兼容http

    前言
    之前我嫌弃tomcat(spring)项目,开启https麻烦,所以一直都是nginx代理为https。
    今儿突然不想了。
    在springBoot2.x的情况下,直接开启https,并兼容http方式(ws~wss)。废话不说上代码

    第一步
    先到运营上申请ssl证书。
    一般情况下,都会提供一年免费的。

    第二步
    将证书复制到spring项目下
    具体如: 项目>src>main>resources>dshvv.com.jks

    第三步
    增加tomcat配置文件TomcatConfig.java

    package com.dshvv.myblogserver.utils;
    
    import org.apache.catalina.connector.Connector;
    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;
    
    @Configuration
    public class TomcatConfig {
      // 这是spring boot 2.0.X版本的 
      @Bean
      public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
        return tomcat;
      }
    
      // 配置http
      private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(80);
        return connector;
      }
    }

    配置文件 application.yml

    server:
      port: 443
      ssl:
        enabled: true
        key-store: classpath:dshvv.com.jks
        key-store-password: 9ijmnoID
        key-store-type: JKS

    效果
    因为80和443端口我另有它用
    所以我的http我设成了 7777,https则为8888。而不是默认的80和443
    这个端口号随意,大家不要在意

  • 相关阅读:
    Java——多线程之方法详解
    Java——深入理解Java异常体系
    Java——Java代码的执行顺序
    Java——抽象类与接口的前世今生
    存储系列之 LUN 和 LVM
    存储系列之 RAID技术原理简介
    存储系列之 硬盘接口与SCSI总线协议
    存储系列之 介质(软盘、硬盘、固态)和磁盘寻址
    Redis设计原理简介
    MySQL InnoDB索引介绍以及在线添加索引实例分析
  • 原文地址:https://www.cnblogs.com/dshvv/p/14802318.html
Copyright © 2011-2022 走看看