lianxiaochuang












"request合法域名"跟上面CA证书中申请的二级域名一致。

Springboot增加证书
创建Springboot项目。

解压缩后,证书文件4375838_wechat.abc.com.pfx放到resources文件夹下面,另外一个文件存放的是密码。

配置文件设置:

server:
  port: 443
  ssl:
    key-store: classpath:4375838_wechat.abc.com.pfx
    key-store-password: R12btm8z

测试ssl
增加文件SslTest,https://localhost/ssl/get 可以访问接口

@RestController
@RequestMapping("ssl")
public class SslTest {
    
    /**
     * 访问 https://localhost/ssl/get
     * @return
     */
    @GetMapping("get")
    public String selectAllUser(){
        System.out.println("test");
        return "test";
    }
    
}

SpringCloud gateway配置

server:
  port: 443
  ssl:
    key-store: classpath:4375838_wechat.techcomeredu.cn.pfx
    key-store-password: R12btm8z

SpringCloud 两个端口同时访问

http:
  port: 19000

server:
  port: 443
  ssl:
    key-store: classpath:4375838_wechat.techcomeredu.cn.pfx
    key-store-password: R12btm8z

增加HttpsToHttp.java:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.netty.NettyReactiveWebServerFactory;
import org.springframework.boot.web.server.WebServer;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.server.reactive.HttpHandler;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;


@Configuration
public class HttpsToHttp {


    @Autowired
    private HttpHandler httpHandler;

    private WebServer webServer;

    @Value("${http.port}")
    private Integer httpPort;

    @PostConstruct
    public void start() {
        NettyReactiveWebServerFactory factory = new NettyReactiveWebServerFactory(httpPort);
        WebServer webServer = factory.getWebServer(httpHandler);
        webServer.start();
    }

    @PreDestroy
    public void stop() {
        webServer.stop();
    }

}

通过 http://localhost:19000/edu-rbac/swagger-ui.htmlhttps://localhost/edu-rbac/swagger-ui.html 均可以访问。
完毕!

分类:

技术点:

相关文章: