6

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

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

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

ServerBuilderServer上似乎没有公开的 API允许指定地址或网络接口。而 C++ API 有AddListentingPort

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

4

1 回答 1

11

您可以通过选择更具体的 ServerBuilder 来做到这一点,例如 NettyServerBuilder:

NettyServerBuilder.forAddress(new InetSocketAddress("localhost", config.port()))
    .addService(new GRPCServiceImpl(serviceParams))
    .build()
    .start();
于 2016-11-15T23:23:58.423 回答