基于springboot設(shè)置Https請求過程解析
1.首先去阿里云購買個證書,也有免費的,但是免費的只能使用一年,證書需要綁定域名
2.將證書放進(jìn)項目
3.配置YML
server: ssl: key-store: 55555.pfx key-store-password: 55555 keyStoreType: PKCS12 connectionTimeout: 20000 port: 8888
重點來了,配置請求轉(zhuǎn)發(fā)
@Configurationpublic 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監(jiān)聽的http的端口號 connector.setPort(8080); connector.setSecure(false); // 監(jiān)聽到http的端口號后轉(zhuǎn)向到的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>
然后運行,請求成功!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
