在阿里云域名中心配置ssl证书部署
在项目中放入ssl pfx文件
application.yml
server:
port: 443
httpport: 8888 //这里8888 端口自动切换到443端口
session-timeout: 30
ssl:
enabled: true
key-store: classpath:2717241_sunuping.com.pfx
key-store-password: xxxx //获取ssl证书的密码
key-store-type: PKCS12
key-alias: alias //阿里云的别名
tomcat:
uri-encoding: UTF-8
servlet:
context-path: /
Application.clss
@Value("${server.port}")
Integer httpsPort;
@Value("${server.httpport}")
Integer httpPort;
private Connector createHTTPConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
//同时启用http自动转发到https端口
connector.setScheme("http");
connector.setSecure(false);
connector.setPort(httpPort);
connector.setRedirectPort(httpsPort);
return connector;
}
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
return tomcat;
}