当前位置: 首页 > article >正文

springboot 配置兼容 https和http 访问

springboot版本

<!-- 继承springBoot默认值 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.RELEASE</version>
</parent>
package cn.com.xxx;

import com.itextpdf.text.io.StreamUtil;
import org.apache.catalina.connector.Connector;
import org.apache.coyote.http11.Http11NioProtocol;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.io.ClassPathResource;

import java.io.File;
import java.io.IOException;

@SpringBootApplication
@ComponentScan(basePackages={"cn.com.xxxx.*","com.xxxx.*"})
public class MainApplication {

    @Value("${http.port}")
    private Integer port;

    // 这是spring boot 1.5.X以下版本的 添加了这个
    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
        return tomcat;
    }

    // 配置http
    private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(port);
        return connector;
    }

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
//        new StreamUtil();
    }

}

配置文件里的配置
server.port=8018
server.ssl.key-store=classpath:server.pfx
server.ssl.key-store-password=xxxx
server.ssl.keyStoreType=PKCS12

http.port=8019 

 tomcat正常启动后:控制台 会打印 https(8018) 和(http)8019

在界面通过https://localhost:8018和http://localhost8019 都可以访问


http://www.kler.cn/a/7091.html

相关文章:

  • vue使用List.reduce实现统计
  • vueRouter路由切换时实现页面子元素动画效果, 左右两侧滑入滑出效果
  • PCB+SMT线上报价系统+PCB生产ERP系统自动化拼板模块升级
  • 【C++笔记】C++三大特性之多态
  • 【windows笔记】08-Windows中的各种快捷方式、符号链接、目录联接、硬链接的区别和使用方法
  • 超好用shell脚本NuShell mac安装
  • 你真的会用mybatis-plus的条件构造器吗?你真的明白mybatis-plus是怎么拼接sql的吗?
  • Docker快速入门,学习工作利器。
  • git 本地回退到某个版本
  • GPT对SaaS领域有什么影响?
  • 数据结构之(三):队列
  • 阿里云大学-Java开发初级
  • AJAX 简介
  • 4年功能测试月薪9.5K,3个月时间成功进阶自动化,跳槽涨薪6k后我的路还很长...
  • 知识图谱实战(03):python操作neo4j实战
  • java微服务架构---hello world
  • KNN机器算法入门【Python】:实现手写数字识别
  • 不联网新华字典
  • 【docker-compose】安装 Harbor
  • 前端从零开始写一个简单的响应式
  • 【软考五】数据库(做题)
  • Flutter-Scaffold组件
  • 软考试题难不难?怎么复习备考?
  • P3975 [TJOI2015]弦论(SAM DAG、parent树上dp计算不同子串数 递归输出字典序第k大子串)
  • 前后台协议联调拦截器
  • 快速玩转 CNStack 2.0 流量防护