找不到与localhost匹配的名称

sg2wtvxw  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(499)

我有两个ssl端点,它们共享相同的application.properties和密钥存储文件。
我想让一个端点呼叫另一个端点,但出现了一个错误 No name matching localhost found 我如何调整它以允许一个微服务按如下所示调用其他微服务?
我尝试了以下方法,但没有成功:
javax.net.ssl.hostnameverifier()
创建了localhost证书并将其添加到密钥库

@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
public class submitapplicationcontroller {

    @Bean
    public WebClient.Builder getWebClientBuilder(){
        return WebClient.builder();
    }

    @Autowired private WebClient.Builder webClientBuilder;

    @PostMapping("/submitapplication")
    public String submitapplication() {

        /*** Returns Error Found Below ***/

        String response = webClientBuilder.build()
            .post()
            .uri("https://localhost:8080/validateaddress")
            .retrieve()
            .bodyToMono(String.class)
            .block();

        return response;
    }
}
javax.net.ssl.SSLHandshakeException: No name matching localhost found
at java.base/sun.security.ssl.Alert.createSSLException
Error has been observed at the following site(s):
|_ checkpoint ⇢ Request to POST https://localhost:8080/v1/validateaddress
@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
public class validateaddresscontroller {

    @PostMapping("/validateaddress")
    public String validateaddress() {

        return "response";

    }

}
server.ssl.key-alias=server
server.ssl.key-password=asensitivesecret
server.ssl.key-store=classpath:server.jks
server.ssl.key-store-provider=SUN
server.ssl.key-store-type=JKS
server.ssl.key-store-password=asensitivesecret
vuv7lop3

vuv7lop31#

这里的问题是我创建和实现证书的方式。我有两个独立的密钥库和证书;一个名为“服务器”,一个名为“本地主机”。我将localhost证书添加到服务器密钥库,并将服务器密钥库和证书应用到springboot应用程序/application.properties。
您需要做的是只创建一个名为“localhost”的证书和密钥库,并且必须使用它来应用于application/application.properties。
创建localhost jks和证书之后应该拥有什么

server.ssl.key-alias=localhost
server.ssl.key-password=asensitivesecret
server.ssl.key-store=classpath:localhost.jks
server.ssl.key-store-provider=SUN
server.ssl.key-store-type=JKS
server.ssl.key-store-password=asensitivesecret

注意:我不相信你真的需要创建一个名为“localhost”的jks,只是证书。我只是为了测试而做的。

相关问题