将http请求转换成https
前言 :
最近公司在开发小程序,发现小程序之前的请求方式必须是HTTPS请求,于是做下实现的过程,简单说下它们二者之间的区别,
HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
说白的https 就是使用SSL证书进行加密后实现的,下面说下如何获取SSL证书(我选择的是阿里云)
SSL证书的获取配置
第一步,借用阿里云流程图
点击购买证书,选择(我这里选择的是免费版的,具体看公司需求选择)]
等待签发,签发后配置点击下载,选择适合自己的(我用的tomcat)
下载后得到一个压缩包,里面有证书和密码
由于下载的证书格式为.pfx ,我们需要将格式转换为java所需要的 .jks
1.将证书放到JKD的bin目录下
2.打开命令行 输入
keytool -importkeystore -srckeystore (证书名称).pfx -destkeystore (转换后的名称).jks -srcstoretype PKCS12 -deststoretype
3.将转换后得到的文件放入项目中
我放到了resources目录下
4.在application.properties 进行配置
#server.port:443 端口号
#server.ssl.key-store= classpath:aa.jks 证书路径
#server.ssl.key-store-password=PxxI6w36 下载的秘钥
#server.ssl.keyStoreType = JKS
5.在启动类 Application 中配置 http 请求转换 https