spring boot https --restful接口篇
我们写的接口默认都是http形式的,不过我们的接口很容易被人抓包,而且一抓全是明文的挺尴尬的
spring boot配置https生成证书大的方向有3种:
1.利用keytool自己生成证书
2.从免费的https网站申请证书,例如letsencrypt
3.买收费的证书
本人没钱,记录下第一种和第二种方法。
第一种方法:
找个地方keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650,全部回车什么都不用填,最好选择是,然后输入密码;将生成的keystore.p12复杂到resources文件下,然后在配置文件application.yml下加入:
server:
port: 8080
ssl:
key-store: classpath:keystore.p12
key-store-password: yourpassword
key-store-type: PKCS12
key-alias: tomcat
security:
require-ssl: true
security:
require-ssl: true
启动项目,访问接口的时候在前面加https://才能访问,我们用抓包软件fiddler试着抓了下,明文的输入输出被加密了,看了下证书10年
第二种方法:
下载letsencrypt的证书,这个其它地方有记录http://www.cnblogs.com/waterlufei/p/7261311.html,然后在/etc/letsencrypt/live/example.com目录执行:
openssl pkcs12 -export -in fullchain.pem \
-inkey privkey.pem \
-out keystore.p12 \
-name tomcat \
-CAfile chain.pem \
-caname root
输入确认密码,会产生keystore.p12文件,复制到windows,后面的步骤跟上面一样
最后看了下第二种方法的证书周期是3个月,但是直接在浏览器中访问接口地址还是和第一种方法一样https都是提示不安全,这是因为我们申请的证书是基于域名申请的,而我们本地不是这个域名,这不要紧,我们把项目部署到服务器后就好了,一路标绿,game over,接口和html页面都可以https了:


小技巧:我们启动的项目的时候如果不想每次都修改配置文件,可以在jar包同目录下新建config目录,然后在config下面新建application.yml,这样我们改革端口什么的很方便,不用再打包项目了
spring boot https --restful接口篇的更多相关文章
- Spring Boot提供RESTful接口时的错误处理实践
使用Spring Boot开发微服务的过程中,我们会使用别人提供的接口,也会设计接口给别人使用,这时候微服务应用之间的协作就需要有一定的规范. 基于rpc协议,我们一般有两种思路:(1)提供服务的应用 ...
- 聊一聊 Spring Boot 中 RESTful 接口设计规范
在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性.接口的稳定性.接口的跨域性.接口的协议规则.接口的路径规则.接口单一原则.接口过滤和接口组合等诸多因素,本篇文章将简要分 ...
- 无规矩不成方圆,聊一聊 Spring Boot 中 RESTful 接口设计规范
在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性.接口的稳定性.接口的跨域性.接口的协议规则.接口的路径规则.接口单一原则.接口过滤和接口组合等诸多因素,本篇文章将简要分 ...
- Spring Boot2 系列教程(三十一)Spring Boot 构建 RESTful 风格应用
RESTful ,到现在相信已经没人不知道这个东西了吧!关于 RESTful 的概念,我这里就不做过多介绍了,传统的 Struts 对 RESTful 支持不够友好 ,但是 SpringMVC 对于 ...
- 使用Spring boot开发RestFul 风格项目PUT/DELETE方法不起作用
在使用Spring boot 开发restful 风格的项目,put.delete方法不起作用,解决办法. 实体类Student @Data public class Student { privat ...
- Spring Boot - Building RESTful Web Services
Spring Boot Building RESTful Web Services https://www.tutorialspoint.com/spring_boot/spring_boot_bui ...
- Spring Boot 入门之 Web 篇(二)
原文地址:Spring Boot 入门之 Web 篇(二) 博客地址:http://www.extlight.com 一.前言 上一篇<Spring Boot 入门之基础篇(一)>介绍了 ...
- Spring Boot 之:接口参数校验
Spring Boot 之:接口参数校验,学习资料 网址 SpringBoot(八) JSR-303 数据验证(写的比较好) https://qq343509740.gitee.io/2018/07/ ...
- Spring Boot构建 RESTful 风格应用
Spring Boot构建 RESTful 风格应用 1.Spring Boot构建 RESTful 风格应用 1.1 实战 1.1.1 创建工程 1.1.2 构建实体类 1.1.4 查询定制 1.1 ...
随机推荐
- python基础-------函数(三)
迭代器 一.迭代的概念 迭代:1 重复2 下一次重复是基于上一次的结果 l=['a','b','c','d'] count=0while count < len(l): print(l[coun ...
- bootstrap --> reset css
/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, ...
- [动态规划]P1378 油滴扩展
题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完毕才能放置下一个油滴. ...
- Maven引入jar的总结
Overview:显示maven项目的一些基本信息 Dependencies:添加jar包的页面 Plugins:添加maven插件的页面.比如tomcat-maven-plugin等 Reporti ...
- unity android相互调用
简介 有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如... 有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去 ...
- SQL---存储过程---存储过程编写案例
存储过程的创建和调用演示 1.不带参数的存储过程的创建 create procedure PRO_With_No_Param as Begin --begin可省略 select * from sc ...
- 组合模式(Composite)
组合模式(Composite) 组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,看看关系图: 直接来看代码: [java] view plaincopypublic class Tr ...
- 十一招让Ubuntu 16.04用起来更得心应手(转)
ubuntu 16.04是一种长期支持版本(LTS),是Canonical承诺发布五年的更新版.也就是说,你可以让这个版本在电脑上运行五年! 这样一来,一开始就设置好显得特别重要.你应该确保你的软件是 ...
- iOS生成Bundle包及使用
什么是Bundle文件? 简单理解,就是资源文件包.我们将许多图片.XIB.文本文件组织在一起,打包成一个Bundle文件.方便在其他项目中引用包内的资源. Bundle文件的特点? Bundle是静 ...
- 最好用的MongoDB GUI - LivingMongo
LivingMongo是一个mongodb数据库的GUI操作系统,支持对数据字段的修改.数据搜索.集合的分类.索引管理.空间统计.慢查询等 demo地址 : http://living-mongo.k ...