https简介
超文本传输安全协议(HyperText Transfer Protocol Secure),缩写:HTTPS;常称为 HTTP over TLS、HTTP over SSL 或 HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在 1994 年首次提出,随后扩展到互联网上。
一、Spring boot 2.2.4 如何支持 https
1、获得证书
使用JDK自带的工具。进入JDK的bin目录, 查看目录信息, 可以看到keytool 工具
然后执行以下代码生成证书
keytool -genkey -alias spring -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore E:/spring.keystore -storepass 123456
在E盘就会得到这样的一个文件
2、在配置文件中添加配置如下
server:
ssl:
key-password: 123456
key-store: classpath:cuiyutian.club.jks
# key-alias: spring
key-store-type: jks
port: 8001 # 服务端口
然后启动项目, 打印一下的信息, 就配置成功了。
Tomcat initialized with port(s): 8001 (https)
此时访问, http 会提示
访问 https
二、Spring boot 2.2.4 如何同时支持 https、http
在启动类下面添加如下代码
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createStandardConnector());
return tomcat;
}
private Connector createStandardConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(8080);
return connector;
}
然后运行项目, 观看打印信息。
Tomcat initialized with port(s): 8001 (https) 8080 (http)
到此配置完毕,这样只是本地测试, 如需上线运行, 可以到腾讯云申请免费的证书
连接:
https://console.cloud.tencent.com/ssl