我有一个gRPC服务,我只想绑定到localhost地址。但是,我没有在Java中看到这样做的方法。相反,它将绑定到所有地址。
以下是我现在创建服务的方式:
server = ServerBuilder.forPort(config.port())
.addService(new GRPCServiceImpl(serviceParams))
.build()
.start();
LOG.info("Server started, listening on " + config.port());
似乎不是ServerBuilder或Server上公开的API,它允许指定地址或网络接口。而C ++ API有AddListentingPort。
那么在Java中是否有办法限制服务侦听哪个IP或接口?
答案 0 :(得分:6)
您可以通过选择更具体的ServerBuilder来完成此操作,例如NettyServerBuilder:
NettyServerBuilder.forAddress(new InetSocketAddress("localhost", config.port()))
.addService(new GRPCServiceImpl(serviceParams))
.build()
.start();