端口要求

Edge for Private Cloud v4.19.01

管理防火墙的需要不仅仅局限于虚拟主机;虚拟机和物理主机防火墙都必须允许组件相互通信所需的端口的流量。

端口图

以下图片显示了单个数据中心和多个数据中心配置的端口要求:

单个数据中心

下图显示了单个数据中心配置中每个 Edge 组件的端口要求:

单个数据中心配置中每个 Edge 组件的端口要求

此图表的注意事项

  • 以“M”为前缀的端口是用于管理组件的端口,必须在该组件上开放,以便管理服务器访问。
  • Edge 界面需要访问 API 代理公开的端口上的路由器,以支持跟踪工具中的发送按钮。
  • 对 JMX 端口的访问权限可以配置为需要用户名/密码。如需了解详情,请参阅如何进行监控
  • 您可以选择为某些可以使用不同端口的连接配置 TLS/SSL 访问。如需了解详情,请参阅 TLS/SSL
  • 您可以将管理服务器和边缘界面配置为通过外部 SMTP 服务器发送电子邮件。如果这样做,您必须确保管理服务器和界面可以访问 SMTP 服务器上的必要端口(未显示)。对于未使用 TLS 的 SMTP,端口号通常为 25。对于启用了 TLS 的 SMTP,该值通常为 465,但请与您的 SMTP 提供商确认。

多个数据中心

如果您安装包含两个数据中心的 12 节点集群配置,请确保两个数据中心中的节点可以通过如下所示的端口进行通信:

12 节点集群配置中每个节点的端口要求

请注意

  • 所有管理服务器都必须能够访问所有其他数据中心中的所有 Cassandra 节点。
  • 所有数据中心中的所有消息处理器都必须能够通过端口 4528 相互访问。
  • 管理服务器必须能够通过端口 8082 访问所有邮件处理器。
  • 所有管理服务器和所有 Qpid 节点都必须能够访问所有其他数据中心中的 Postgres。
  • 出于安全原因,除了上面显示的端口和您自己的网络要求所需的任何其他端口之外,数据中心之间不应开放任何其他端口。

默认情况下,组件之间的通信是不加密的。您可以通过安装 Apigee mTLS 来添加加密。如需了解详情,请参阅 Apigee mTLS 简介

携号转网详细信息

下表介绍了需要按 Edge 组件在防火墙中打开的端口:

组件 端口 说明
标准 HTTP 端口 80、443 HTTP 以及用于虚拟主机的任何其他端口
Cassandra 7000、9042、9160 Apache Cassandra 端口,用于在 Cassandra 节点之间进行通信以及供其他 Edge 组件访问。
7199 JMX 端口。必须处于开放状态,以便管理服务器访问。
LDAP 10389 年 OpenLDAP
管理服务器 1,099 个 JMX 端口
4526 用于分布式缓存和管理调用的端口。此端口可配置。
5636 用于创收承诺通知的端口。
8080 用于 Edge Management API 调用的端口。这些组件需要访问管理服务器上的端口 8080:路由器、消息处理器、界面、Postgres 和 Qpid。
管理界面 9,000 用于通过浏览器访问管理界面的端口
消息处理器 1101 JMX 端口
4528 适用于消息处理器之间的分布式缓存和管理调用,以及来自路由器和管理服务器的通信。

消息处理器必须打开端口 4528 作为其管理端口。如果您有多个消息处理器,它们必须都能通过端口 4528(在上图中,消息处理器上的端口 4528 上用环形箭头指示)相互访问。如果您有多个数据中心,则必须可从所有数据中心内的所有消息处理器访问该端口。

8082

消息处理器的默认管理端口,必须在组件上打开,以供管理服务器访问。

如果在路由器和消息处理器之间配置 TLS/SSL,路由器会使用它对消息处理器进行健康检查。

当您在消息处理器和消息处理器之间配置 TLS/SSL 时,消息处理器上的端口 8082 只需开放给路由器访问。如果您未在路由器和消息处理器(默认配置)之间配置 TLS/SSL,消息处理器上的端口 8082 仍必须打开才能管理组件,但路由器则不需要访问该组件。

8443 在路由器和消息处理器之间启用 TLS 后,您必须在消息处理器上打开端口 8443 以供路由器访问。
8998 与路由器通信的消息处理器端口
Postgres 22 如果要将两个 Postgres 节点配置为使用主备用复制功能,您必须在每个节点上打开端口 22 以进行 SSH 访问。
1103 JMX 端口
4530 分布式缓存和管理调用
5432 用于从 Qpid/Management Server 到 Postgres 的通信
8084 Postgres 服务器上的默认管理端口;必须在组件上打开,以供管理服务器访问。
Qpid 1102 JMX 端口
4529 分布式缓存和管理调用
5672
  • 单个数据中心:用于将分析数据从路由器和消息处理器发送到 Qpid。
  • 多个数据中心:用于不同数据中心内的 Qpid 节点之间的通信。
8083 Qpid 服务器上的默认管理端口,必须在组件上打开,以供管理服务器访问。
路由器 4527 适用于分布式缓存和管理调用。

路由器必须开放端口 4527 作为其管理端口。如果您有多个路由器,则它们必须能够通过端口 4527(在上图中,路由器上的端口 4527 的环形箭头指示)上相互访问。

您可以在路由器上打开端口 4527,以供任何消息处理器访问,但这并非强制性要求。否则,您可能会在消息处理器日志文件中看到错误消息。

8081 路由器的默认管理端口,必须在组件上打开,以供管理服务器访问。
15999 年

健康检查端口。负载平衡器使用此端口来确定路由器是否可用。

如需获取路由器的状态,负载平衡器会向路由器上的端口 15999 发出请求:

curl -v http://routerIP:15999/v1/servers/self/reachable

如果路由器可以访问,请求将返回 HTTP 200。

59001 用于由 apigee-validate 实用程序测试 Edge 安装情况的端口。此实用程序需要访问路由器上的端口 59001。如需详细了解端口 59001,请参阅测试安装
SmartDocs 59002 Edge 路由器上的端口,用于发送 SmartDocs 页面请求。
ZooKeeper 2181 位 供管理服务器、路由器、消息处理器等其他组件使用
2888、3888 供 ZooKeeper 在内部用于 ZooKeeper 集群(称为 ZooKeeper 集成学习)通信

下表显示了相同的端口(按数字顺序列出),以及来源和目标组成部分:

端口号 目的 来源组件 目标组件
virtual_host_port HTTP 以及用于虚拟主机 API 调用流量的任何其他端口。最常用的端口是 80 和 443;消息路由器可以终止 TLS/SSL 连接。 外部客户端(或负载平衡器) 消息路由器上的监听器
1099 至 1103 JMX 管理 JMX 客户端 管理服务器 (1099)
消息处理器 (1101)
Qpid 服务器 (1102)
Postgres Server (1103)
2181 Zookeeper 客户端通信 管理服务器
路由器
消息处理器
Qpid 服务器
Postgres 服务器
ZooKeeper
2888 和 3888 ZooKeeper 节点间管理 ZooKeeper ZooKeeper
4526 RPC 管理端口 管理服务器 管理服务器
4527 远程过程调用 (RPC) 管理端口,用于分布式缓存和管理调用以及路由器之间通信 管理服务器
路由器
路由器
4528 适用于消息处理器之间的分布式缓存调用,以及来自路由器的通信 管理服务器
路由器
消息处理器
消息处理器
4529 用于分布式缓存和管理调用的 RPC 管理端口 管理服务器 Qpid 服务器
4530 用于分布式缓存和管理调用的 RPC 管理端口 管理服务器 Postgres 服务器
5432 Postgres 客户端 Qpid 服务器 Postgres
5636 创收 外部 JMS 组件 管理服务器
5672
  • 单个数据中心:用于将分析数据从路由器和消息处理器发送到 Qpid。
  • 多个数据中心:用于不同数据中心内的 Qpid 节点之间的通信。
Qpid 服务器 Qpid 服务器
7000 Cassandra 节点间通信 Cassandra 其他 Cassandra 节点
7199 JMX 管理。必须处于开放状态,以便管理服务器在 Cassandra 节点上访问。 JMX 客户端 Cassandra
8080 Management API 端口 Management API 客户端 管理服务器
8081 至 8084

组件 API 端口,用于直接向各个组件发出 API 请求。每个组件会打开不同的端口;使用的确切端口取决于配置,但必须在该组件上打开,以供管理服务器访问

Management API 客户端 路由器 (8081)
消息处理器 (8082)
Qpid 服务器 (8083)
Postgres Server (8084)
8443 启用 TLS 时路由器和消息处理器之间的通信 路由器 消息处理器
8998 路由器和消息处理器之间的通信 路由器 消息处理器
9000 默认边缘管理界面端口 Browser 管理界面服务器
9042 CQL 原生传输 路由器
消息处理器
管理服务器
Cassandra
9160 Cassandra Thrift 客户端 路由器
消息处理器
管理服务器
Cassandra
10389 LDAP 端口 管理服务器 OpenLDAP
15999 健康检查端口。负载平衡器使用此端口来确定路由器是否可用。 负载均衡器 路由器
59001 apigee-validate 实用程序用于测试 Edge 安装情况的端口 apigee-validate 路由器
59002 发送 SmartDocs 页面请求的路由器端口 SmartDocs 路由器

消息处理器会向 Cassandra 保持打开的专用连接池,该连接池配置为永不超时。当消息处理器和 Cassandra 服务器之间有防火墙时,防火墙可能会使连接超时。但是,消息处理器并非用于重新建立与 Cassandra 的连接。

为避免这种情况,Apigee 建议 Cassandra 服务器、消息处理器和路由器位于同一子网,以便在这些组件的部署过程中不涉及防火墙。

如果路由器和消息处理器之间有防火墙,并且设置了空闲 TCP 超时,我们建议执行以下操作:

  1. 在 Linux 操作系统上的 sysctl 设置中设置 net.ipv4.tcp_keepalive_time = 1800,其中 1800 应低于防火墙空闲 TCP 超时。此设置应使连接保持已建立状态,以免防火墙断开连接。
  2. 在所有消息处理器上,修改 /opt/apigee/customer/application/message-processor.properties 以添加以下属性。如果该文件不存在,请创建一个。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. 重启消息处理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. 在所有路由器上,修改 /opt/apigee/customer/application/router.properties 以添加以下属性。如果该文件不存在,请创建一个。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. 重启路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart