先说背景。业务升级,需要使用https访问。我想这也太简单了。搞个证书就行了。于是乎,开始实施。
1、买专业证书,阿里云上花了一千块买了个一年的证书。这是正式环境的证书。
2、改代码。有了正式证书之后,还要修改本地环境,进行验证。毕竟本地很多访问方式都要变。而且我记得之前http接口调用,还要修改代码。
购买阿里云个人测试证书,不花钱。20个证书,但是买下来傻眼了。这个必须要绑定域名。但是我本地环境,哪里来的域名。只能自己生成证书了。这个专业点叫 《自签证书》。找了很多网上的资料。这个最靠谱。尤其是需要注意其中使用的加密算法。
使用java自带的工具。keytool。在bin目录下,无需多言。
输入keytool -genkey -alias tomcat -keyalg RSA -keystore ./server.keystore
注意alias,keyalg,使用rsa算法。
然后bin目录下回自动生成对应的文件。复制到resource目录下。
server.ssl.protocol=TLS
server.ssl.key-store=classpath:server.keystore
server.ssl.key-alias=tomcat
server.ssl.enabled=true
server.ssl.key-store-password=123456
server.ssl.key-store-type=JKS
然后配置文件中加入这一段。之前怎么都不行。经过对比发现,应该就是生成证书的时候,使用的算法不对。
修改之后,重启直接访问即可。
只需要将http 改成https 例如原来访问是http://localhost:8081/
更改后:https://localhost:8081/ 需要注意的是:改完后不再支持http访问,因证书原因,浏览器会报证书风险,可无视
下一步,是修改系统间的接口调用。
我这个是两个模块。之间是使用http接口调用的。所以这个web层修改了。那他提供的接口也要修改。