【问题标题】:How to disable the security certificate check in Java webflux webclient requests如何在 Java webflux webclient 请求中禁用安全证书检查
【发布时间】:2019-11-22 14:15:31
【问题描述】:

通过 webflux webclient 发出 post/get 请求时,如何禁用 ssl 检查?

我正在使用的示例构建器代码:

WebClient webClient = WebClient.builder()
        .baseUrl("https://api.github.com")
        .defaultHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.github.v3+json")
        .defaultHeader(HttpHeaders.USER_AGENT, "Spring 5 WebClient")
        .build();

在上面的代码中应该做哪些改变使ssl验证为假?

【问题讨论】:

  • 您是否可以选择将服务器证书导入到您的 JVM 的信任库中?完全禁用证书检查有点违背了使用 TLS 的目的。
  • 在这里你可以找到你要找的东西,记住这是非常非常糟糕的做法。仅供参考:stackoverflow.com/questions/45418523/…

标签: java spring-boot spring-webflux spring-webclient


【解决方案1】:
        SslContext sslContext = SslContextBuilder
            .forClient()
            .trustManager(InsecureTrustManagerFactory.INSTANCE)
            .build();
    
        HttpClient httpClient = HttpClient.create().secure(t -> t.sslContext(sslContext));
    
        WebClient webClient = WebClient.builder()
            .baseUrl("https://api.github.com")
            .defaultHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.github.v3+json")
            .defaultHeader(HttpHeaders.USER_AGENT, "Spring 5 WebClient")
            .clientConnector(new ReactorClientHttpConnector(httpClient))
            .build();

【讨论】:

    猜你喜欢
    • 2013-03-04
    • 2018-11-11
    • 2011-07-19
    • 1970-01-01
    • 2011-08-26
    • 2019-03-30
    • 2012-03-13
    • 2020-09-02
    • 2020-01-30
    相关资源
    最近更新 更多