在Java中将gRPC服务绑定到localhost

Dus*_*ell 2 java grpc grpc-java

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

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

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

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

那么在Java中是否有一种方法来限制服务侦听哪个IP或接口?

Car*_*elo 6

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

NettyServerBuilder.forAddress(new InetSocketAddress("localhost", config.port()))
    .addService(new GRPCServiceImpl(serviceParams))
    .build()
    .start();
Run Code Online (Sandbox Code Playgroud)