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

相关推荐
弦儿4 分钟前
后端 Web 实战:登录认证(登录功能 + 会话技术 + JWT 令牌 + Filter/Interceptor)
后端
会编程的吕洞宾7 分钟前
LangChain4j 流式输出实战:让 AI 回复像打字机一样逐字显示
java·开发语言·人工智能·后端
无足鸟ICT13 分钟前
【RHCA+】reboot命令(重启)
linux·运维·服务器·1024程序员节
只是学习学习15 分钟前
Java将文件转二维码导出MP4
java
武子康17 分钟前
CUDA OOM 不只是“显存不够”
人工智能·后端·agent
曹牧21 分钟前
JDK重定向目录
java·开发语言
进击的丸子21 分钟前
基于 ArcFace SDK 的跨平台人脸特征值下发、同步以及存储方案
后端·算法·代码规范
郑州光合科技余经理23 分钟前
同城小程序开发:同一笔单在用户端和商家端各显示到哪
android·java·开发语言·前端·后端·uni-app·php
ixiaoyang830 分钟前
ioDraw v3.7.0 发布:AI 助手完成会话化改造,图表生成一次升级
ai·流程图·甘特图·思维导图·绘图软件·1024程序员节·mermaid
卷无止境34 分钟前
ARM与x86、x64的能效之争:指令集只是故事的开头
后端·python