我很好奇下面的代码是如何返回HTTP-200正确响应的
WebClient.builder().build()
.get()
.uri("https://www.google.com")
.retrieve()
.toEntity(String.class)
.block();
其中我没有配置SSL上下文,并且我正在访问一个安全的站点。
然而,当我对以下URI执行相同操作时,
- https://www.cricinfo.com
- https://jsonplaceholder.typicode.com
我明白了,
Fatal (CERTIFICATE_UNKNOWN): PKIX path building failed: sun
.security.provider.certpath.SunCertPathBuilderException: unable to find valid
certification path to requested target
是否存在spring-webclient正在使用的默认信任库?
如果没有提供SSL上下文,它将在Java的默认信任库($JAVA_HOME/lib/security/cacerts
(中查找证书,如果在那里找不到,它将抛出异常