HTTP是一个客户端和服务器端请求和响应的标准TCP协议。
多了个 S,其实 S 表示 TLS、ssl。因此 HTTP 的基础架构如图所示:
HTTP协议(HyperText Transfer Protocol),即超文本传输协议是用于服务器传输到客户端浏览器的传输协议。Web上,服务器和客户端利用HTTP协议进行通信会话。那集成 HTTPS ,简单来说,修改 Tomcat 容器配置,加一层对应的安全约束配置即可。
申请 HTTPS
申请SSL证书
打开阿里云证书,可以申请免费一年。一年后继续免费申请一年即可。
下载,这块选择 Tomcat ,因为这次集成只需要修改 Spring Boot 内嵌容器 Tomcat 配置。如果是 nginx ,也可以对应下载并集成配置
证书文件介绍
在证书控制台下载Tomcat版本证书,下载到本地的是一个压缩文件,解压后里面包含.pfx文件是证书文件,是证书文件的密码。
另外两种配置模式:
PFX证书安装
JKS证书安装
本文使用 PFX证书安装。
配置 HTTPS
将 .pfx 文件复制到 resources 根目录,然后配置 a (生产配置文件):
#HTTPS
=classpath:xx.com.pfx
配置项如下:
HTTPS 加密端口 SSL证书路径 -password SSL证书密码 -type 证书类型
然后新增 HttpsConfig 类,代码如下
public class HttpsConfig { /** * spring boot 1.x */ /* */ @Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() { @Override protected void postProcessContext(Context context) { Securityconstraint constraint = new SecurityConstraint(); con("CONFIDENTIAL"); Securitycollection collection = new SecurityCollection(); collec("/*"); con(collection); con(constraint); } }; return tomcat; } }
运行即可,从日志看出已经支持 HTTPS:
2019-06-16 10:42:42.989 INFO 16727 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 443 (https) 2019-06-16 10:42:45.782 INFO 16727 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 443 (https)
注意点:
这是 1.x 的配置,2.x 版本有所不同
https 默认端口号是 443。本机环境会端口占用可以改成 8080 等
如果一台机器两个 HTTPS 服务,那么可以通过 setRedirectPort 进行操作
1.《.pfx文件如何打开?终于找到答案了怎样使用Spring Boot 集成配置 HTTPS》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《.pfx文件如何打开?终于找到答案了怎样使用Spring Boot 集成配置 HTTPS》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2233125.html