名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)
上QQ阅读APP看书,第一时间看更新

4.2 https安全访问

SpringBoot启动时默认采用http进行通信协议定义,考虑到安全,往往会使用https进行访问。正常来讲,https的访问是需要证书的,并且为了保证这个证书的安全,一定要在项目中使用CA进行认证。下面只是在本机做一个简单的模拟,利用Java提供的keytool命令实现证书的生成。

1.【操作系统】利用keytool生成一个证书。

该程序执行完成后会生成一个名称为keystore.p12的证书文件,该证书的别名为mytomcat,访问密码为mldnjava。

2.【mldnboot-web项目】将生成的keystore.p12复制到src/main/resources目录中,如图4-2所示。

图4-2 配置安全访问

3.【mldnboot-web项目】修改application.yml文件,配置ssl安全访问。

4.【mldnboot项目】资源目录中增加了*.p12文件,要想让其正常执行,还需要修改resource配置,追加输出文件类型配置。

5.【mldnboot-web项目】虽然现在程序配置了https支持,但考虑到用户访问时可能会使用http访问,所以需要做一个Web配置,使得通过http的80端口访问的请求直接映射到https的443端口上。

此时程序在通过80端口访问时,会自动跳转到https访问的443端口上。