Spring Boot(号称Java当前最流行的开发框架) 中启动HTTPS

本文介绍如何在SpringBoot项目中配置并启用HTTPS服务,包括通过keytool生成自签名证书及在application.properties文件中进行相关配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Boot(号称Java当前最流行的开发框架) 中启动HTTPS

说实话啊,这个框架是比较简单,但是数据库操作还是那么恶心,好比16岁的花姑娘配了一个80岁的老头,关于这一块,我会单独发布一个核心库,来简化码农们的工作

如果你使用Spring Boot,并且想在内嵌tomcat中添加HTTPS,需要如下步骤

要有一个证书,买的或者自己生成的
在Spring Boot中启动HTTPS
将HTTP重定向到HTTPS(可选)

获取SSL证书
有两种方式
1、自己通过keytool生成
2、通过证书授权机构购买

一、这里作为演示,采用keytool生成
keytool -genkey -alias jghttps -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore keystore.jks -validity 3650
回车,然后输入:
Enter keystore password:
Re-enter new password:
您的名字与姓氏是什么?
  [jugan]:  xx
您的组织单位名称是什么?
  [jugan]:  xx
您的组织名称是什么?
  [jugan]:  xx
您所在的城市或区域名称是什么?
  [hangzhou]:  hangzhou
您所在的省/市/自治区名称是什么?
  [zhejiang]:  zhejiang
该单位的双字母国家/地区代码是什么?
  [CN]:  CN
CN=jugan, OU=jugan, O=jugan, L=hangzhou, ST=zhejiang, C=CN是否正确?
  [否]:  yes
您的名字与姓氏是什么?
  [jugan]:  xx
您的组织单位名称是什么?
  [jugan]:  xx
您的组织名称是什么?
  [jugan]:  xx
您所在的城市或区域名称是什么?
  [hangzhou]:  hangzhou
您所在的省/市/自治区名称是什么?
  [zhejiang]:  zhejiang
该单位的双字母国家/地区代码是什么?
  [CN]:  CN
CN=xx, OU=xx, O=xx, L=hangzhou, ST=zhejiang, C=CN是否正确?
  [否]:  是


生成的文件:
F:\jgkj\workspace\https\keystore.jgpt
将证书keystore.jks拷贝到工程根目录下


密码:xx@https


二、Spring Boot 中开启HTTPS
默认情况下Spring Boot内嵌的Tomcat服务器会在8080端口启动HTTP服务,
Spring Boot允许在application.properties中配置HTTP或HTTPS,
但是不可同时配置,如果两个都启动,至少有一个要以编程的方式配置,
Spring Boot官方文档建议在application.properties中配置HTTPS,
因为HTTPS比HTTP更复杂一些,可以参考spring-boot-sample-tomcat-multi-connectors的实例


在application.properties中配置HTTPS
server.ssl.key-store: keystore.jks
server.ssl.key-store-password: xx@https
server.ssl.key-store-type: PKCS12

好了,可以运行你的SpringBoot项目了





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值