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>

然后運行,請求成功!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM