在项目的开发中,经常会用到https协议,比如小程序上线。我们在取得ssl证书后需要部署到springboot项目中需要有一下步骤。
首页在部署https项目是需要有自己的域名,并在阿里云申请ssl证书。然后下载好tomcat证书放在springboot的资源文件目录中
下载的证书默认为pfx文件和txt文件,放在如下位置,然后再资源文件中配置如下
这样就成功将ssl证书放到项目中了,但是想要完全让用户访问https还差一步,这也是很多人忽略的一步。
在springboot主启动类中设置请求转发,设置一起虚拟的http端口8080转发到https端口8000才能实现https的访问, 代码大家随意cv,可根据自己的需求修改。
@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");
//同时启用http(8080)、https(8443)两个端口
connector.setScheme("http");
connector.setSecure(false);
connector.setPort(8080);
connector.setRedirectPort(8000);
return connector;
}
然后启动代码就可以访问了,这里我就放上我服务器中的项目给大家参考。
如图,网站出现了一把小锁,是https部署成功的标志,此外,由于http与https的协议不同,如想了解nginx部署ssl的请参考我的另一篇博客。