【Spring Boot】使用 SSL 证书加密 API(HTTPS)

1.申请证书(腾讯云)

申请免费的SSL证书,腾讯云,填写相关信息即可,如绑定的域名、邮箱、备注名
在这里插入图片描述

2.下载证书

大约等10分钟就有结果了,在申请成功的证书列表点击下载
在这里插入图片描述
下载完成后,目录结构如下,因为SpringBoot内置的是Tomcat,所以就选Tomcat,其余的用不到
在这里插入图片描述

3.把证书放在resources目录下

打开Tomcat,有两个文件,将.jks结尾的拷贝到springboot项目的resource目录下
在这里插入图片描述
在这里插入图片描述

4.编写springboot配置文件

编写配置文件,和你的文件名保持一致,key-store-password就是keystorePass.txt中的内容,只配置3项就可以生效了,无需编写配置类

server:
  # 配置接口为https,部署后方可生效,本地不会显示
  ssl:
    key-store: classpath:域名.jks
    key-store-password: ***********
    key-store-type: JKS

参数说明:
key-store:证书文件的完整路径名
key-store-password:指定了私钥,即keystorePass.txt中的内容。
KeyStoreType:指定证书文件的类型,jks证书文件的类型即是JKS。

5.查看结果

本地启动项目。我的端口为8181,效果如下
在这里插入图片描述
这里是http访问的,改为https的效果如下
在这里插入图片描述
返回的json数据是我对404进行了捕获,无需在意,出现上面的结果是正常的,因为我们申请的证书域名的ip肯定不是localhost,浏览器会认为证书是无效的,只有部署到和证书域名一样的服务器上才会生效,若申请证书绑定的域名和你部署到的服务器的域名不一致,即使部署到线上证书仍然不被浏览器所认可。

例如服务器的域名为abc.com,证书绑定的域名也应为abc.com而不是三级域名xxx.abc.com

项目package后生成jar包,我是用的是docker部署,不使用docker也可以,可以使用java -jar命令,总之让项目在服务器上跑起来就行

有关docker的文章可以参考:https://blog.csdn.net/weixin_43553153/category_10874280.html

部署成功后访问 https://你的域名:你项目的端口号,docker端口映射为8181:8085
结果如下
在这里插入图片描述

发现chrome浏览器的地址栏有一个小锁,说明https生效了。

6.本地运行使HTTPS生效的方法

修改hosts文件即可。(推荐使用SwitchHosts工具修改)
将127.0.0.1映射到申请证书的域名,例如lyunion.top

127.0.0.1 lyunion.top

然后在浏览器访问地址:https://lyunion.top:8181/api地址,就可以发现https也生效了
在这里插入图片描述
此时并没有在服务器上部署,是域名和本地IP(127.0.0.1)映射产生的效果。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值