1、生成密钥文件,keytool 是java的一个命令
keytool -genkey -alias hpgary -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
2、放到spring boot项目的 resource源码包下
3、修改配置文件 application.perproties 文件
server.ssl.key-store=classpath:keystore.p12 server.ssl.key-store-password=123456 server.ssl.keyStoreType=PKCS12 server.ssl.keyAlias=hpgary
4、定义 tomcat https bean
@Bean public EmbeddedServletContainerFactory servletContainer(){ TomcatEmbeddedServletContainerFactory containerFactory = new TomcatEmbeddedServletContainerFactory(){ @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) ; } }; containerFactory.addAdditionalTomcatConnectors( initiateHttpConnector() ); return containerFactory ; } @Value("${server.port}") Integer serverPort ; private Connector initiateHttpConnector() { //http 80 端口 跳转到 https 8443 端口 Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme( "http" ); connector.setPort( 80 ); connector.setSecure( false ); connector.setRedirectPort( serverPort ); return connector; }