在 Java 中将 gRPC 服务绑定到本地主机

Bind gRPC service to localhost in Java

我有一个 gRPC 服务,我只想绑定到本地主机地址。但是,我在 Java 中看不到这样做的方法。相反,它将绑定到所有地址。

以下是我现在创建服务的方式:

server = ServerBuilder.forPort(config.port())
                      .addService(new GRPCServiceImpl(serviceParams))
                      .build()
                      .start();
LOG.info("Server started, listening on " + config.port());

ServerBuilder or Server which allows specifying the address or network interface. Whereas the C++ API has AddListentingPort 上似乎没有 API。

那么 Java 有没有办法限制服务侦听的 IP 或接口?

您可以通过选择更具体的 ServerBuilder 来完成此操作,例如 NettyServerBuilder:

NettyServerBuilder.forAddress(new InetSocketAddress("localhost", config.port()))
    .addService(new GRPCServiceImpl(serviceParams))
    .build()
    .start();