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

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项目了





猜你喜欢

转载自blog.csdn.net/tengyunjiawu_com/article/details/80702026