【Spring Boot】使用 SSL 证书加密 API(HTTPS)
文章目录
- 1.申请证书(腾讯云)
- 2.下载证书
- 3.把证书放在resources目录下
- 4.编写springboot配置文件
- 5.查看结果
- 6.本地运行使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:域名.jkskey-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)映射产生的效果。
【Spring Boot】使用 SSL 证书加密 API(HTTPS)相关推荐
- Spring Boot配置ssl证书
Spring Boot配置ssl证书 一.申请有权威的SSL证书 在各大云服务商都可以申请到SSL官方证书. 我这里是在阿里云上申请的,申请后下载,解压.如图: 二.用JDK中keytool是一个证书 ...
- 详解HTTPS通信流程,使用JDK,openssl,XCA进行证书认证详细操作,Spring Boot配置SSL证书实操
这里写目录标题 HTTPS SSL 通信流程 HTTPS一般使用的加密与HASH算法如下: 1.JDK JDK中自带keytool工具便携生成SSL证书,其代码参数如下 整合到spring boot项 ...
- Spring Boot配置SSL实现https请求
Spring Boot配置SSL实现https请求 1. 生成SSL证书 专业的SSL证书较为昂贵,可以在腾讯云或者阿里云上申请免费的SSL证书. 如果只是做简单的demo,可以使用java自带的ke ...
- Spring Boot项目中使用RestTemplate调用https接口出现 unable to find valid certification path to requested target
问题描述:Spring Boot项目中使用RestTemplate调用https接口出现以下错误: PKIX path building failed: sun.security.provider.c ...
- StartSSL免费SSL证书成功申请-HTTPS让访问网站更安全
http://www.freehao123.com/startssl-ssl/ 昨天写了更换空间后重新安装Godaddy SSL的文章,突然想到了一直有朋友向部落提到的StartSSL免费SSL证书服 ...
- 21. Spring Boot 2.x最佳实践之 HTTPS 集成
Spring Boot 2.x最佳实践之 HTTPS 集成 1. HTTPS 科普篇 1.1 什么是HTTP? 1.2 什么是HTTPS? 1.3 HTTP 和HTTPS 的区别 1.4 HTTPS ...
- Spring Boot 集成 Swagger 生成 RESTful API 文档
原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...
- 使用Spring Boot自动发布和监视API
如果您正在沿着微服务风格的架构前进,那么您将需要接受的一个租户就是自动化. 这种架构风格介绍了许多活动部件. 如果成功,您的环境将具有大量服务API,企业可以将其用于应用程序开发和集成. 这意味着必须 ...
- Spring教程:使用Spring框架和Spring Boot创建Hello World REST API
由于Java社区对早期版本的Enterprise Java感到失望,因此创建了Spring Framework . 从那时起,它已经发展成为一个巨大的生态系统,可以解决构建基于Web的Java应用程序 ...
最新文章
- Spring基础专题——第二章(注入Injection)
- 图像识别:能在商业中如何运用
- 每日一皮:开会不关微信的尴尬(1)
- Kinect实现简单的三维重建
- Storm中的LocalState 代码解析
- dijkstra算法c++_Matlab 二维模拟退火算法最优路径(主程序)
- Lync在Internet上无法登录问题之一
- SAP UI5 应用开发教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解
- 算法训练 K好数(dp+动态规划)
- php网站开发期末大作业,大学生期末网页大作业
- 如何给影像添加投影_地面互动投影是如何实现的,需要哪些设备?
- 百度网盘下载器更新啦!PanDownload又带来了「资源搜索」功能!
- java url解码_URL的编码和解码
- Windows javaw进程占用cpu资源100% 导致电脑卡顿
- 无线网服务器断开怎么回事,无线网自动断开怎么回事
- 各种中文输入法中输入间隔号“·”的方法
- chrony时间同步
- 华为设备无线环境中的MAC认证
- ethercat的linuxcnc解析器-关于lcec_conf和lcec.so
- AXI总线核心解读---基于官方文档
热门文章
- 贝叶斯滤波算法(实例)
- android usb 摄像头 分辨率,Android 驱动USB摄像头
- 数据库系统概论(第五版)期末复习
- VTD链接不到license
- 小榕SQL注入工具使用
- foxmail pop3服务器能收邮件,发不了邮件,为什么我现在用foxmail只能收126的邮件,但是发送说无法连接到服务器POP3 SMTP设置是正确...
- Altium Designer(AD)安装教程
- [ATF][Power]ARMv8 arm trust firmware
- ARM开发板配置rzsz
- java 鲜花管理系统_基于jsp的鲜花销售管理系统-JavaEE实现鲜花销售管理系统 - java项目源码...