springboot Https 基于springboot设置Https请求过程解析
william_zhao 人气:0想了解基于springboot设置Https请求过程解析的相关内容吗,william_zhao在本文为您仔细讲解springboot Https的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:springboot,设置,Https请求,下面大家一起来学习吧。
1.首先去阿里云购买个证书,也有免费的,但是免费的只能使用一年,证书需要绑定域名
2.将证书放进项目
3.配置YML
server: ssl: key-store: 55555.pfx key-store-password: 55555 keyStoreType: PKCS12 connectionTimeout: 20000 port: 8888
重点来了,配置请求转发
@Configuration public class WebMvcconfig implements WebMvcConfigurer { @Bean public TomcatServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { @Override protected void postProcessContext(Context context) { SecurityConstraint constraint = new SecurityConstraint(); constraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); constraint.addCollection(collection); context.addConstraint(constraint); } }; tomcat.addAdditionalTomcatConnectors(httpConnector()); return tomcat; } @Bean public Connector httpConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); // Connector监听的http的端口号 connector.setPort(8080); connector.setSecure(false); // 监听到http的端口号后转向到的https的端口号 connector.setRedirectPort(8888); return connector; } }
如果请求报错:java.lang.UnsatisfiedLinkError: org.apache.tomcat.jni.SSL.renegotiatePending(J)I问题
在pom.xml中加入
<properties> <tomcat.version>9.0.12</tomcat.version> </properties>
<dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-juli</artifactId> <version>${tomcat.version}</version> </dependency>
然后运行,请求成功!
加载全部内容