springboot设置Https请求

Posted william_zhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

然后运行,请求成功!

以上是关于springboot设置Https请求的主要内容,如果未能解决你的问题,请参考以下文章

Python 向 Postman 请求代码片段

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段

SpringBoot 过滤器代理请求,增加设置请求参数的函数 setParameter