如何在Java webflux webclient请求中禁用安全证书检查

3

在使用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验证为false?最初的回答:在requests.get()方法中添加参数verify=False。

你是否有选项将服务器证书导入到你的JVM信任存储中?完全禁用证书检查有点违背使用TLS的目的。 - undefined
在这里你可以找到你要找的东西,记住这是非常非常糟糕的做法。只是提供信息:https://dev59.com/jFcO5IYBdhLWcg3wrTcs - undefined
1个回答

14
        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();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接