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的安全访问链接配置

相关推荐
TimberWill3 分钟前
SpringBoot整合Srping Security实现权限控制
java·spring boot·后端
zhangfeng11331 小时前
Warmup Scheduler深度学习训练中,在训练初期使用较低学习率进行预热(Warmup),然后再按照预定策略(如余弦退火、阶梯下降等)衰减学习率的方法
人工智能·深度学习·学习
unable code1 小时前
内存取证-卡比卡比卡比
网络安全·ctf·misc·1024程序员节·内存取证
Renhao-Wan1 小时前
Java 算法实践(四):链表核心题型
java·数据结构·算法·链表
_codemonster2 小时前
JavaWeb开发系列(六)JSP基础
java·开发语言
万邦科技Lafite2 小时前
淘宝店铺所有商品API接口实战指南
java·数据库·mysql
red_redemption3 小时前
自由学习记录(118)
学习
jjjxxxhhh1233 小时前
【加密】-AES与对称加密
java·服务器·网络
临水逸3 小时前
飞牛fnos 2025 漏洞Java跨域URL浏览器
java·开发语言·安全·web安全
yaoxin5211233 小时前
324. Java Stream API - 实现 Collector 接口:自定义你的流式收集器
java·windows·python