前言
由于小程序发布上线,请求域名必须是Https,后台是SpringBoot项目,打成jar包,如何通过SSL域名访问项目呢?
一、对HTTP 与 HTTPS 的认识?
两者都是网络协议,区别是HTTP协议传输数据是未加密的,也就是明文的,在传输隐私信息不安全,为了保证这些隐私数据能安全传输,通过加上SSL协议,对数据加密,就是HTTPS。
二、如何配置SSL实现域名访问jar项目
1.申请SSL证书
目前阿里云官网提供免费的证书,可在项目使用。如果是商业化项目,建议购买证书。
2.项目配置
由于是jar发布,不能直接将tocmat配置方式来处理。需要在Spingboot的Application启动类注入一个@Bean,就可以达到同样的效果,示例代码如下
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
return tomcat;
}
private Connector createHTTPConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setSecure(false);
connector.setPort(8008);
connector.setRedirectPort(443);
return connector;
}
接下来需要在yaml文件,加上如下配置
server:
port: 8090
servlet:
context-path: /api
tomcat:
uri-encoding: UTF-8
ssl:
key-store: xx.pfx ##证书的路径
key-store-password: 密码 ## 证书密码
总结
你学会了吗?不会的,欢迎评论区留言。