版权声明:欢迎转载分享,只求注明出处! https://blog.csdn.net/Pagegle/article/details/89092338
1、生成证书,可以使用自签名证书或者从SSL证书授权中心获得
JDK中keytool是一个证书管理工具,可以生成自签名证书,这里使用JDK自带的keytool创建证书测试
打开cmd窗口,输入命令
keytool -genkey -alias tomcat -keyalg RSA -keystore ./https.keystore
按照提示操作
2、创建完成后,在用户根目录下查看生成的keystore文件,将它复制到项目的根目录下
3、在yml文件中添加配置
4、再建一个配置类
扫描二维码关注公众号,回复:
5811882 查看本文章
import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class HttpsConfig {
@Bean
public Connector connector(){
Connector connector=new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
//Connector监听的http的端口号
connector.setPort(8080);
connector.setSecure(false);
//监听到http的端口号后转向到的https的端口号
connector.setRedirectPort(8443);
return connector;
}
@Bean
public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector){
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(connector);
return tomcat;
}
}
5、运行原地址,自动跳转