首页 > 编程语言 > 详细

Spring Boot demo系列(六):HTTPS

时间:2020-09-18 15:41:46      阅读:46      评论:0      收藏:0      [点我收藏+]

1 概述

本文演示了如何给Spring Boot应用加上HTTPS的过程。

2 证书

虽然证书能自己生成,使用JDK自带的keytool即可,但是生产环境是不可能使用自己生成的证书的,因此这里使用的证书是购买过来的,具体流程就不说了,去云厂商处购买即可。

3 配置文件

新建一个Spring Boot工程,在配置文件添加如下参数:

server.ssl.key-store=classpath:crt/xxx.pfx
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=xxxx

具体配置需要结合云厂商的文档,笔者在阿里云上买的证书,下载的是Tomcat的版本,参照里面的帮助设置以上三个参数。

技术分享图片

  • server.ssl.key-store:证书文件的位置,为classpath:crt/xxx,其中classpath:表示使用resources下的路径,但是需要加上一个文件夹,比如,假设证书文件名为1.pfx,直接放在resources下的话,路径就是classpath:1.pfx,这样是访问不了的,但是加上目录后,也就是如果放在resources/crt下,路径就是classpath:crt/1.pfx,这样就可以访问了
  • server.ssl.key-store-typePKCS12,根据阿里云的Tomcat配置文档得出,具体的话根据自己的云厂商证书部署文档决定
  • server.ssl.key-store-password:证书下载后有两个文件,一个是证书,一个是pfx-password.txt,这里的密码就是pfx-password.txt的内容

4 本地测试

直接run即可,首先可以试一下用HTTP访问:

http://localhost:8080

技术分享图片

会提示需要使用HTTPS,改为HTTPS后:

技术分享图片

这是因为笔者的证书绑定了域名的缘故,没有使用域名访问,修改本地host

127.0.0.1 www.xxx.xxx

这样使用域名访问就不会显示不安全了:

技术分享图片

5 Docker部署

打包,改名为demo.jar,上传到服务器。

其他更详细的Docker部署操作请查看笔者之前的博客,戳这里

这里给出Dockerfile

FROM adoptopenjdk/openjdk11:aarch64-centos-jdk-11.0.8_10

MAINTAINER test <test@qq.com>

VOLUME /tmp

EXPOSE 8080

ADD demo.jar demo.jar

ENTRYPOINT ["java","-jar","demo.jar"]

创建镜像与容器并运行:

docker build -t demo .
docker run -d -p 8888:8080 demo

测试:

技术分享图片

6 源码

Java版:

Kotlin版:

Spring Boot demo系列(六):HTTPS

原文:https://www.cnblogs.com/6b7b5fc3/p/13690626.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!