美文网首页SpringBoot学习
075-Spring Boot 集成配置 HTTPS

075-Spring Boot 集成配置 HTTPS

作者: 郭艺宾 | 来源:发表于2019-06-20 16:24 被阅读2次

    一、HTTPS 是什么

    问:什么是HTTP?

    答:HTTP是一个客户端和服务器端请求和响应的标准TCP协议。

    多了个 S,其实 S 表示 TLS、SSL。因此 HTTP 的基础架构如图所示:

    HTTP协议(HyperText Transfer Protocol),即超文本传输协议是用于服务器传输到客户端浏览器的传输协议。Web上,服务器和客户端利用HTTP协议进行通信会话。那集成 HTTPS ,简单来说,修改 Tomcat 容器配置,加一层对应的安全约束配置即可。

    二、免费 HTTPS

    最简单的方式就是,采用java自带keytool工具生成,在这里,我们一般采用pkcs12格式的证书。网上还有一些阿里云或者其它免费的SSL证书的申请,可以自行查询。

    先生成jks类型的证书:

    keytool -genkey -alias demo -keyalg RSA -validity 36500 -keystore d:\demo.keystore

    此时按照步骤提示,输入秘钥、组织、城市等信息,完成后最后键入:是,保存到本地。

    按照建议应将jks转换为更符合国际标准的pkcs12格式的证书,接下来将之前的jks证书转换为pkcs12证书,当然你也可以一次性生成pkcs12格式证书,2种证书的分别生成便于在不同应用场景下使用。

    keytool -importkeystore -srckeystore d:\demo.keystore -destkeystore d:\demo.keystore -deststoretype pkcs12

    根据提示键入:证书秘钥,完成后再本地生成一个pkcs格式的证书,名字还是demo.keystore,原jks证书将自动另存为demo.keysotre.old文件,用于备份。

    三、配置 HTTPS

    新建一个springboot项目,使用1.5.x版本,注意新的2版本的配置方式发生了改变,如果学习可以自行查询。在springboot中引入一个web组件,添加一个接口即可。

    把生成的证书放到resources目录下面,然后在配置文件中添加配置:

    443是https默认的端口,如果被占用,可以修改。

    最后配置https,新建一个HttpsConfig配置类:

    四、测试访问 HTTPS 

    启动项目,最后能看到启动信息中包含https:

    按照原来的http访问接口,发现已经无法访问:

    加上https的访问:

    代码地址: https://gitee.com/blueses/spring-boot-demo

    相关文章

      网友评论

        本文标题:075-Spring Boot 集成配置 HTTPS

        本文链接:https://www.haomeiwen.com/subject/tfndqctx.html