首页 > 其他分享 >SpringBoot配置HTTPS及开发调试

SpringBoot配置HTTPS及开发调试

时间:2024-04-29 15:34:33浏览次数:15  
标签:key https SpringBoot 证书 配置 jks HTTPS new 调试

前言

在实际开发过程中,如果后端需要启用https访问,通常项目启动后配置nginx代理再配置https,前端调用时高版本的chrome还会因为证书未信任导致调用失败,通过摸索整理一套开发调试下的https方案,特此分享

后端配置

生成HTTPS密钥

keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048  -ext "SAN=IP:192.168.1.14" -keypass abcd@1234 -keystore frame.jks -storepass abcd@1234 -validity 360000

SAN需要设置你自己电脑的固定ip

配置SSL访问

这里以2.0.0.RELEASE版本为例

server:
  ssl:
  key-store: classpath:systemfile/frame.jks
  key-store-password: abcd@1234
  key-store-type: JKS
  key-alias: tomcat

如果需要打包部署测试环境,需要添加以下配置将jks密钥排除在外

<resources>
      <resource>
         <filtering>true</filtering>
         <directory>src/main/resources</directory>
         <excludes>
              <exclude>**/*.jks</exclude>
         </excludes>
      </resource>
      <resource>
          <filtering>false</filtering>
          <directory>src/main/resources</directory>
          <includes>
               <include>**/*.jks</include>
          </includes>
      </resource>
 </resources>

创建TomcatConfig配置信任

@Configuration
public class TomcatConfig {
    @Bean
    public TomcatServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcatServletContainerFactory = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            }
        };
        tomcatServletContainerFactory.addConnectorCustomizers(new FrameTomcatConnectorCustomizer());
        return tomcatServletContainerFactory;
    }
}

浏览器设置

使用360浏览器访问系统后台管理地址,点击地址栏的查看证书并导出

打开360浏览期设置,搜索证书,配置SSL证书,在受信任的根证书派发机构和受信任的发布者两个tab下导入刚才导出的证书

关闭浏览器重新打开,访问系统地址,地址栏锁变绿则代表配置成功

开发调试

postman在调试https接口时在Setting目录关闭SSL验证

标签:key,https,SpringBoot,证书,配置,jks,HTTPS,new,调试
From: https://www.cnblogs.com/yanpeng19940119/p/18165784

相关文章

  • IDEA导入springboot项目无法识别resources下的application.yml配置文件
    遇到的问题:IDEA springboot不能读取resources下的yml配置文件如下图,application.yml文件前面的图标并不是springboot配置文件的图标,这就是IDEA没有识别到yml文件 正确的配置文件图标因该是下面这样的可能原因及解决方法: 文件名问题:确保YML文件的名称是正确......
  • 使用idea 在线创建springboot 项目-需联网
    1.打开idea,点击File,New,Project...2.配置项目名称和地址,配置jdk版本.配置完成点击Next等待导入依赖没有jdk17就下载一下想要在resources目录创建.yml结尾文件,按步骤操作选择Editor->FileandCodeTemplates选择files点击+号,输入名称,和文件类型.......
  • vscode+C 编译调试
    tasks.json{"version":"2.0.0","tasks":[{"taskName":"shell",//任务名称,与launch.json的preLaunchTask相对应"command":["exportPKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/","make&qu......
  • SpringBoot自动装配原理
     个人理解,SpringBoot就是由Spring和SpringMVC整合而来。开箱即用、简化监控、简化配置、简化部署;约定大于配置;boot脱离了传统Spring手动配置大量的bean,而SpringBoot自动装配改变了繁琐的局面。 SpringBoot的自动配置基于条件注解和自动配置类,它能够根据应用程序的......
  • springboot~redis的hash结构为key设置过期策略
    redis配置文件开启键过期#The"notify-keyspace-events"takesasargumentastringthatiscomposed#ofzeroormultiplecharacters.Theemptystringmeansthatnotifications#aredisabled.##Example:toenablelistandgenericevents,fromthepo......
  • SpringBoot中几种好用的代码生成器(基于Mybatis-plus生成entity、mapper、xml等)
    前言熟悉Spring框架的同学一定都知道MVC开发模式吧,控制器(Controller)、业务类(Service)、持久层(Repository)、数据库映射(Mapper)、各种DO类构成了我们服务端的代码。初学的时候,觉得新鲜手写这些东西不觉得有啥,但是写久了就会觉得很烦。好不容易在数据库中写完了一遍字段,在Java代码又要......
  • SpringBoot常用注解(部分)
     @Service:注解在类上,表示这是一个业务层bean@Controller:注解在类上,表示这是一个控制层bean@Repository:注解在类上,表示这是一个数据访问层bean@Component:注解在类上,表示通用bean,value不写默认就是类名首字母小写@Autowired:按照类型(Spring容器默认单例模......
  • SpringBoot集成minio前后端联调
    基本配置初始化项目新建一个SpringBoot项目,集成lombokmybatis-plusminiohutool-core(可有可无)。新建一个数据表attachement,用于存储文件上传后在minio中的位置。droptableifexistsattachment;createtableattachment(idintauto_increment......
  • 一个通用的SpringBoot项目响应实体类Response
    packagecom.luky.vo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importlombok.ToString;importorg.springframework.http.HttpStatus;@Data@ToString@AllArgsConstructor@NoArgsConstructorpublicclassResponse&......
  • SpringBoot+MyBatisPlus报错 Invalid value type for attribute 'factoryBeanObjectTy
    依赖版本org.springframework.boot:spring-boot-starter-web:3.2.5com.baomidou:mybatis-plus-boot-starter:3.5.5错误Invalidvaluetypeforattribute'factoryBeanObjectType'问题原因:这个问题是由于依赖传递导致,在MyBatis起步依赖中的myBatis-spring版本过低,导致程......