`
ymq267
  • 浏览: 129881 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

Spring Boot 配置Https协议

阅读更多
是用SpringBoot开发项目要求用HTTPS协议进行访问,配置很简单,需要简单的几步就可以完成。

1.自己生成keystore->将csr文件申请证书颁发机构->证据机构返回crt证书->配置到spring boot框架中
1.需要一个证书,可以自己生成或者购买。下面是我们通过keytool自己生成。
生成命令: keytool -genkey -alias tomcat -keyalg RSA -keystore name.keystore
然后按照提示填信息,可以随便写,但要记住(特别是别名,密码)


会在当前目录生成一个name.keystore的证书.
其中tomcat是别名 可以随便起,name.keystore也是随便起,其中keystore是后缀不能改
2. 导入证书(买的cer证书)
keytool -import -trustcacerts -alias tomcat -file intermediate.cer -keystore name.keystore


此时会报 “回复中的公共密钥与密钥库不匹配”错误
原因是 导入时的别名 tomcat 与 第1步的生成证书时的别名tomcat重复
别名改一下别重复就行。
比如将tomcat改为tomcat1 如下:
keytool -import -trustcacerts -alias tomcat1 -file intermediate.cer -keystore name.keystore


3.将name.keystore文件拷贝到项目的classpath路径中

4.在application.properties中配置HTTPS
server.port=8843
server.ssl.key-store=intel.keystore
server.ssl.key-alias=tomcat
server.ssl.key-password=123456
server.ssl.key-store-type=JKS


到这儿就改为支持https了
5.如果想再兼容http,在webconfig文件中 加入如下代码:

@Configuration
public class WebConfig {
    @Bean
    public EmbeddedServletContainerFactory servletContainerFactory() {
        TomcatEmbeddedServletContainerFactory factory =
            new TomcatEmbeddedServletContainerFactory() {
                @Override
                protected void postProcessContext(Context context) {
                    //SecurityConstraint必须存在,可以通过其为不同的URL设置不同的重定向策略。
                    SecurityConstraint securityConstraint = new SecurityConstraint();
                    securityConstraint.setUserConstraint("CONFIDENTIAL");
                    SecurityCollection collection = new SecurityCollection();
                    collection.addPattern("/*");
                    securityConstraint.addCollection(collection);
                    context.addConstraint(securityConstraint);
                }
            };
        factory.addAdditionalTomcatConnectors(createHttpConnector());
        return factory;
    }
    
    private Connector createHttpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setSecure(false);
        connector.setPort(8080);
        connector.setRedirectPort(8843);
        return connector;
    }
}


这就是默认当http请求时,自动重定向到https请求中去!

这就完成了SpringBoot的HTTPS协议配置,重新启动后访问https://localhost:8443/proName 即可
分享到:
评论

相关推荐

    Spring Boot实现Undertow服务器同时支持HTTP2、HTTPS的方法

    在本文中,我们将讨论如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议。首先,我们需要了解什么是HTTP2和HTTPS,以及它们的优点和缺点,然后我们将学习如何使用Spring Boot实现Undertow服务器同时支持HTTP2和...

    Spring boot连接oracle数据库JDBC配置步骤

    Spring Boot 连接 Oracle 数据库 JDBC 配置步骤 在本文中,我们将详细介绍如何使用 Spring Boot 连接 Oracle 数据库,配置 JDBC 驱动程序,并实现数据库的基本操作。 Step 1: 添加依赖项 在 Spring Boot 项目中,...

    spring boot 配置HTTPS代码实例

    Spring Boot 配置 HTTPS 代码实例是指在 Spring Boot 应用程序中配置 HTTPS 协议,以确保数据传输的安全。本文将通过示例代码详细介绍 Spring Boot 配置 HTTPS 的过程,并对代码进行详细解释。 一、配置文件 在 ...

    Spring boot 配置参数一览.pdf

    以上是Spring Boot配置参数的一部分,具体的配置项可能会根据版本的不同有所差异。开发者在实际应用时,应该参考Spring Boot官方文档,以获得最准确的配置信息。此外,Spring Boot还支持通过命令行参数、环境变量、...

    Netty+Spring Boot仿微信 全栈开发高性能后台及客户端

    通过自动配置和起步依赖,Spring Boot使得开发者能够快速启动一个功能完备的应用。在本项目中,Spring Boot将作为后端的核心框架,用于提供RESTful API、数据持久化、安全控制等功能。Spring Boot与Spring Cloud结合...

    基于 Spring Cloud 2021 、Spring Boot 2.7、 OAuth2 的 RBAC 权限管理系统源码

    首先,Spring Boot 2.7是Spring框架的一个轻量级版本,它简化了Java应用的开发过程,通过内嵌的Tomcat服务器和自动配置功能,使得开发者可以快速构建独立运行的应用。在2.7版本中,可能会包含性能优化、新特性和对...

    卫通星GPS定位器GT06协议socket通讯JAVA Spring Boot对接

    接下来,我们创建一个Spring Boot应用,并在配置中设置一个端口用于Socket监听。可以使用`@Configuration`和`@EnableWebFlux`或`@SpringBootApplication`注解启动Spring Boot应用。在服务端点类中,使用`@Message...

    spring boot 整合mina 串口

    Spring Boot的核心特性是自动配置和起步依赖,这使得我们无需编写大量的XML配置文件,只需通过注解就能快速搭建应用程序。在整合Mina时,我们需要引入相应的依赖。 1. **添加Mina和Spring Boot依赖** 在`pom.xml`...

    spring-boot-https-源码.rar

    通过阅读和理解Spring Boot的源码,我们可以更好地掌握如何在Spring Boot应用中启用和配置HTTPS,同时也能了解Spring Boot如何与Tomcat协作实现安全的网络通信。这对于我们开发安全、高效的Web应用具有重要意义。

    spring Boot 2精髓.rar

    自动配置使得开发者无需编写大量配置代码,Spring Boot会根据项目依赖自动配置应用。起步依赖则通过"Maven"或"Gradle"的特定依赖,帮助快速引入所需的Spring功能模块。嵌入式Web服务器如Tomcat或Jetty,让应用程序...

    spring boot 示例代码

    Spring Boot是Spring框架的一个子项目,它简化了配置和启动过程,使得开发者能够快速创建独立运行的Java应用程序。这个示例程序不仅展示了Spring Boot的基本用法,还整合了Swagger API框架,用于API的文档化和测试。...

    Spring Boot教程程序样例

    11. **邮件发送**:Spring Boot 提供了发送邮件的功能,支持SMTP协议,可以方便地创建和发送电子邮件。 12. **消息服务**:Spring Boot 集成了消息中间件,如RabbitMQ、Kafka等,使得应用能够进行异步通信,提高...

    spring boot + netty websocket

    通过自动配置和“起步运行器”特性,Spring Boot可以让开发者快速启动并运行一个完整的应用,无需繁琐的配置。 在Websocket技术方面,它是HTTP协议的一个超集,允许双向通信,即服务器和客户端都可以主动发送数据。...

    tus-spring-boot

    "tus-spring-boot"项目正是为了解决这些问题而设计的一个服务端框架,它结合了tus协议和Spring Boot框架,提供了一种高效且可靠的文件上传解决方案。 首先,我们需要理解什么是tus协议。tus(Upload Resume in ...

    Spring Boot 2.1.3 官方文档

    Spring Boot是Java开发领域的一款非常流行的微服务框架,它极大地简化了Spring应用的初始化和配置过程,使得开发者能够快速地创建独立运行的应用。Spring Boot 2.1.3是该框架的一个稳定版本,包含了丰富的特性与改进...

    卫通星GPS定位器GT06协议socket通讯JAVA Spring Boot对接.zip

    本文将详细讨论“卫通星GPS定位器GT06”如何通过Socket通讯协议与Java Spring Boot应用程序进行对接,以及涉及的技术点。 首先,我们要了解卫通星GPS定位器GT06。这是一款支持多种通讯方式的设备,包括GSM/GPRS网络...

    spring boot https (1.0和2.0)

    集成HTTPS是Spring Boot项目中的一项重要安全配置,因为HTTPS能够确保数据传输的安全性,防止中间人攻击,保护用户隐私。本篇文章将深入探讨Spring Boot 1.0和2.0版本中如何集成HTTPS,并解决可能出现的问题。 1. *...

    海康摄像头spring boot

    总的来说,这个话题涉及了监控系统开发、Spring Boot应用设计、RTSP协议的使用以及Web前端技术,是一个综合性的IT实践课题。通过这样的集成,开发者能够构建出高效、可扩展的监控解决方案,方便地管理和查看海康...

    基于spring boot + vue 的宿舍管理系统源码.zip

    Spring Boot的核心特性包括自动配置、起步依赖和运行时健康检查。在这个系统中,Spring Boot作为后端框架,负责处理HTTP请求,实现业务逻辑,并与数据库进行交互。 前端部分采用了Vue.js,一个轻量级的JavaScript...

Global site tag (gtag.js) - Google Analytics