spring boot 项目配置https服务

怀旧网个人博客网站地址:怀旧网,博客详情:spring boot 项目配置https服务

第一步:申请ssl证书

在自己的域名注册网站可以申请,建议使用腾讯的ssl证书申请服务(免费)

申请时需要绑定需要添加https的域名:(一定要是需要填加的域名才有效)

第二步:下载证书并导入项目

下载自己的ssl证书,我这边下载的是.jks类型证书

然后将内容解压出来,并且将 .jks文件放在你的项目resources目录下,建议创建一个ssl文件件,然后将文件放入进去

第三步:配置yml

配置详情如下

复制代码
# 服务端口号
server:
  port: 443 # https默认端口为443这边就不要写80了
  reactive:
      session:
          timeout: PT360H
  # https 配置
  ssl:  # 这下面的配置按照要求来就可以
    enabled: true 
    # 保存SSL证书的秘钥库的路径
    key-store: classpath:ssl/xxxxx.jks # 这边就是刚刚保存的.jks文件路径
    key-store-password: XXXXX  # 这边就填写下载下来的包里面的password文件里里面的内容
    # 证书类型
    key-store-type: JKS  # 下载的什么类型的证书就写对应的配置就行

第四步:配置端口自动跳转

这个步骤可以选做--目的是当用户通过80访问当前端口的时候可以直接自动跳转到443端口(目的是访问http自动跳转到https)

下面的配置类代码--直接照着写就行

复制代码
// 文件名:  HttpsConfig

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;

/**
 * https配置,将http请求全部转发到https
 * @author P_P
 */
@Configuration
public class HttpsConfig {
    //SpringBoot-v2.0+配置方式
    @Bean
    public ServletWebServerFactory servletContainer() {
        //创建Tomcat服务器工厂实例
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        //添加此tomcat实例其它连接参数
        tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
        return tomcat;
    }

    /**
     * 配置tomcat自定义连接参数
     * @return
     */
    private Connector createHTTPConnector() {
        //Connector port有两种运行模式(NIO和APR),选择NIO模式:protocol="org.apache.coyote.http11.Http11NioProtocol"
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        //启用http(80)端口
        connector.setScheme("http");
        //设置安全连接标志,该标志将被分配给通过该连接接收的请求
        //secure新的安全连接标志
        //如果connector.setSecure(true),则http使用http, https使用https; 分离状态,因此设置false
        connector.setSecure(false);
        //http默认端口
        connector.setPort(80);
        //重定向证书端口443,便于http自动跳转https
        connector.setRedirectPort(443);
        return connector;
    }
}

完成以上步骤就可以完成https的安全访问链接配置

相关推荐
谭光志38 分钟前
Vibe Coding 时代,程序员该何去何从
前端·后端·ai编程
私人珍藏库1 小时前
[Android] 会计快题库 -财会职称考试刷题学习
android·人工智能·学习·app·软件·多功能
GoGeekBaird1 小时前
我用 BeeWeave 跑完了一次完整写作闭环
后端·github
这个DBA有点耶2 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
仿生狮子3 小时前
别再说“全栈”了,AI 时代团队只认这 5 种人
前端·人工智能·后端
csdn2015_3 小时前
springboot读取配置的方法
java·spring boot·spring
AOwhisky3 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
Reart5 小时前
Leetcode 213.打家劫舍2(内含闲谈,打劫真是技术活,好题,716)
后端·算法
云云只是个程序马喽5 小时前
海外短剧平台搭建方案:私有化源码系统选型|云微短剧系统技术架构拆解
java·php
触底反弹5 小时前
🔥 RAG 到底是怎么工作的?掰开揉碎了给你讲明白!
javascript·人工智能·后端