springboot 80转443

application.yml 中配置https证书信息

springboot 80转443

向spring容器中注入两个Bean,代码如下

import java.util.Map;

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.simpleframe.core.dao.OpenDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Scope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Scope("prototype")
public class UserController extends  {

    @Bean
    public Connector connector(){
        Connector connector=new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(80);
        connector.setSecure(false);
        connector.setRedirectPort(443);
        return connector;
    }

    @Bean
    public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector){
        TomcatServletWebServerFactory tomcat=new TomcatServletWebServerFactory(){
            @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(connector);
        return tomcat;
    }

}

Original: https://www.cnblogs.com/remember-forget/p/11812069.html
Author: _小豪豪
Title: springboot 80转443

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/540897/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 30个类手写Spring核心原理之AOP代码织入(5)

    本文节选自《Spring 5核心原理》 前面我们已经完成了Spring IoC、DI、MVC三大核心模块的功能,并保证了功能可用。接下来要完成Spring的另一个核心模块—AOP,…

    Java 2023年6月7日
    074
  • 分布式多级缓存(本地缓存,redis缓存)

    结构包: 使用案例: 实现效果: 1、基本并发的本地缓存,基于分布式轻量级锁的redis缓存 2、热缓存(高频访问持续缓存)+快速过期(本地缓存2秒,redis缓存10秒) 3、方…

    Java 2023年6月6日
    084
  • java的数据类型

    java数据类型分为: 基本数据类型和 引用数据类型 基本数据类型有8个:[int,long,short,float,double,byte] char,boolean] 引用类型…

    Java 2023年6月16日
    068
  • Java LocalDateTime实用方法

    Java8提供了新的时间接口LocalDateTime。本文主要介绍了Java8中LocalDateTime的一些常用操作方法。不多说,直接上代码。欲知详情,可以看看官网。 Jav…

    Java 2023年6月8日
    084
  • leetcode 144. Binary Tree Preorder Traversal 二叉树展开为链表(中等)

    一、题目大意 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root = [1,null,2,3]输出:[1,2,3] 示例 2: 输入:root…

    Java 2023年6月14日
    079
  • 0009智能社区管理系统-java毕设

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年5月29日
    079
  • JeeSite Spring Cloud安装搭建

    引言 JeeSite Cloud 具备 JeeSite 4.x 的所有功能,是在 JeeSite 4.x 基础之上,完成的 Spring Cloud 分布式系统套件的整合。它利用 …

    Java 2023年6月5日
    099
  • IDEA包名显示设置

    项目结构视图右上角那个齿轮 选择【Compact Empty Middle Packages】,包会合并显示 【Hide Empty Middle Packages】去掉前面的√,…

    Java 2023年6月5日
    078
  • 01-RocketMQ介绍

    一、MQ介绍 1、什么是MQ?为什么要用MQ? MQ:MessageQueue,消息队列。 队列,是一种FIFO 先进先出的数据结构。消息由生产者发送到MQ进行排队,然后按原来的顺…

    Java 2023年6月7日
    0134
  • 【设计模式】Java设计模式-命令模式

    Java设计模式 – 命令模式 😄生命不息,写作不止🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆 一个有梦有戏的人 @怒放吧德德🌝分享学习心得,…

    Java 2023年6月16日
    078
  • IOC-反转控制/ DI-依赖注入

    7.1 IOC (inversion of control) – 反转控制 1) 之前我们在学JSP 的时候,在CoreS ervlet 中,我们创建xxxD ao 对象是如何创建…

    Java 2023年6月16日
    071
  • 算法,其实就是办法

    随着人工智能(AI)的火热发展,它背后的技术——「算法」也慢慢走近普通人的生活,类似于智能客服之类的应用也会越来越多。不靠编程技术挣钱吃饭的童鞋可以不懂什么是算法,但从事软件开发工…

    Java 2023年6月7日
    081
  • VS2017 打开WebService 提示已经在解决方案中打开了具有该名称的项目

    .net开发。用VS2017工具,打开VS2010创建的WebSevice工程时,提示工程不可用。 重新加载后提示:已经在解决方案中打开了具有该名称的项目。 该问题原因是因为启用了…

    Java 2023年6月8日
    073
  • 【Java全栈进阶】-多态

    多态 多态的概述 多态是继封装、继承之后,面向对象的第三大特性。 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学 张三既是学生也是人,即出现两种形态。 Ja…

    Java 2023年6月7日
    053
  • SpringBoot配置文件优先级

    在开发过程中,不知道有没有这样的经历,项目实际读取的配置信息有时候总是与预期不符,今天就来研究下 SpringBoot 读取配置文件顺序。 一、SpringBoot 配置文件加载优…

    Java 2023年6月5日
    085
  • Java笔记_web.xml文件

    在JavaEE工程中,web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等…

    Java 2023年6月5日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球