springboot 2.X将项目已jar包形式发布与服务器,如何进行域名+https实现访问
1、在某个平台上申请域名
申请后要进行解析配置,其中就要配置域名指向的服务器
2、在某平台上申请ssl证书,可以免费的也可以付费的
3、项目配置,由于是jar发布,不能直接将tocmat配置方式来处理,所以需要在代码里进行配置
在application的启动类内加入
@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(8008);
connector.setRedirectPort(443);
return connector;
}
然后再配置文件里加入
server:
port: 443
servlet:
context-path: /api
tomcat:
uri-encoding: UTF-8
ssl:
key-store: 证书路径.pfx
key-store-password: 密码
这里使用了443默认端口,可以实现https访问路径里省去端口,相当于http的80端口
然后clean 打包
将证书文件和jar都放入服务器,进行运行即可