有没有办法为 ZerocIce 的 IceGrid 服务器指定节点端口/端口范围?

时间:2021-05-18 04:19:42

标签: ice

我们将 IceGrid 用于我们的一项分布式服务。所以我们的客户端直接与注册中心通信,注册中心保存提供服务的运行服务器/节点的记录。我们对大多数配置使用默认值。现在我们遇到了一个问题:在IceGrid的manual1manual2中提到the client uses indirect binding and the server uses a port that is assigned by the operating system from the ephemeral port range.但是我们的网络策略不允许访问低于10000的端口号。所以我想知道是否有一些配置选项指定了端口或端口范围(以便我们可以明确告诉节点使用一些大于 10000 的端口号并允许在网络策略中访问这些端口。

我们尝试使用 IceGrid.Node.Endpoints=tcp -h OUR_IP_ADDRESS -p 10232。但它似乎不起作用,因为分配的端口仍然是随机的(有时低于 10000)而不是 10232。

有人有类似的经历吗?非常感谢!

1 个答案:

答案 0 :(得分:2)

使用 IceGrid.Node.Endpoints=tcp -h OUR_IP_ADDRESS -p 10232 为 IceGrid 节点进程设置固定端口只会确保 IceGrid 节点进程使用该端口。它不会对 IceGrid 节点管理的服务器的配置产生任何影响。

如果您想确保这些服务器使用大于 10000 的端口号,您将需要更新服务器端点配置以使用固定端口(使用 -p PORT 选项)。

另一个更简单的选择是更新您的操作系统配置,以确保在适合您的策略的范围内分配临时端口。但是,更新此配置很可能需要管理权限。