目前,我有一个NGINX服务器(在端口5001上),其中运行着一个gRPC服务器,NGINX启用了TLS。所有gRPC客户端都需要将请求发送到NGINX端口,然后转发到运行的gRPC服务器。最初为了测试,使用usePlaintext()进行了gRPC请求,并且一切都很正常,但最终目标是使用TLS。这里的要求是(因为这些是内部应用程序),gRPC通道请求不需要传递证书,而是在创建通道时执行“跳过证书”操作。 在Google搜索后,我找到了有关TLS的示例,但所有示例都需要.cert、.key文件。以下是我尝试的代码片段,但它在服务器端失败了,无法验证证书。
(java code)
ManagedChannel channel = NettyChannelBuilder.forAddress(<server IP address>, 5001).sslContext(GrpcSslContexts.forClient().trustManager
(new File(<.cert file>).build())
.build();
我再进行一些研究,发现Golang有InsecureSkipVerify()函数,可以用来跳过证书验证(如果我理解有误,请纠正我)
tc := credentials.NewTLS(&tls.Config{
InsecureSkipVerify: true,
})
现在我该如何用Java实现相同的功能?
io.grpc
提供新的证书吗? - lucasvc