端口要求

对防火墙的管理不仅仅局限于虚拟主机;虚拟机和物理主机 防火墙必须允许组件与各个组件通信所需端口的流量通过 其他。

端口图

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

单个数据中心

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

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

下图中的备注

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

多个数据中心

如果您要在集群内安装12 节点 具有两个数据中心的集群,请确保两个数据中心内的节点 可以通过如下所示的端口进行通信:

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

请注意

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

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

携号转网详细信息

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

组件 端口 说明
标准 HTTP 端口 80、443 HTTP 以及您用于虚拟主机的任何其他端口
Apigee 单点登录 9,099,000 来自外部 IDP、管理服务器和浏览器的连接 身份验证。
Cassandra 7000、9042、9160 Apache Cassandra 端口,用于在 Cassandra 节点之间通信以及 其他 Edge 组件。
7,199 JMX 端口。必须开放以供管理服务器访问。
LDAP 10,389 OpenLDAP
管理服务器 1,099 个 JMX 端口
4526 用于分布式缓存和管理调用的端口。此端口可配置。
5636 用于创收承诺通知的端口。
8,080 个 用于调用 Edge Management API 的端口。这些组件要求访问端口 8080, 管理服务器:路由器、消息处理器、界面、Postgres、Apigee SSO(如果已启用)、 和 Qpid。
管理界面 9,000 个 用于通过浏览器访问管理界面的端口
消息处理器 1,101 JMX 端口
4528 适用于消息处理器之间的分布式缓存和管理调用,以及 从路由器和管理服务器进行通信。

消息处理器必须打开端口 4528 作为其管理端口。如果您有多个 消息处理器,它们必须都能够通过端口 4528(用 上图中消息处理器上的端口 4528 的环形箭头)。如果您有 多个数据中心,那么所有数据都必须可由所有消息处理器访问 。

8082

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

如果您在路由器和邮件处理器之间配置 TLS/SSL(由路由器使用) 对消息处理器进行健康检查。

仅当出现以下情况时,路由器上的端口 8082 才需要开放 配置路由器和邮件处理器之间的 TLS/SSL。如果您未配置 TLS/SSL (默认配置),端口 8082 仍必须 在消息处理器上打开以管理组件,但路由器不要求 访问。

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

也用于同一平台上的 Qpid 服务器和代理组件之间的通信 节点。在具有多个 Qpid 节点的拓扑中,服务器必须能够连接到 在端口 5672 上建立代理

8083 Qpid 服务器上的默认管理端口,必须在组件上打开 管理服务器访问的资源。
8090 Qpid 的代理的默认端口;必须处于公开状态才能访问 管理控制台或管理 API 来进行监控。
路由器 4527 适用于分布式缓存和管理调用。

路由器必须打开端口 4527 作为其管理端口。如果您有多个路由器 都必须能够通过端口 4527(由 如上图所示,路由器上的端口 4527)。

您可以在路由器上打开端口 4527,以供任何 消息处理器中所述。否则,您可能会在消息处理器中看到错误消息 日志文件。

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

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

要获取路由器的状态,负载平衡器会向 路由器:

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

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

59,001 apigee-validate 实用程序用于测试 Edge 安装的端口。 该实用程序需要访问路由器上的端口 59001。请参阅 在端口 59001 上测试安装以执行更多操作。
SmartDocs 59002 边缘路由器上的端口,用于发送 SmartDocs 页面请求。
ZooKeeper 2,181 个 供管理服务器、路由器、消息处理器等其他组件使用
2888、3888 供 ZooKeeper 在内部用于 ZooKeeper 集群(称为 ZooKeeper 集成学习) 通信

下表显示了相同的端口(以数字形式列出),其中包含来源和目标 组件:

端口号 用途 源组件 目标组件
virtual_host_port HTTP 以及您用于虚拟主机 API 调用流量的任何其他端口。端口 80 和 443 最常用的类别邮件路由器可以终止 TLS/SSL 连接。 外部客户端(或负载平衡器) 消息路由器上的监听器
1099 至 1103 JMX 管理 JMX 客户端 管理服务器 (1099)
消息处理器 (1101)
Qpid 服务器 (1102)
Postgres 服务器 (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 节点的拓扑中,服务器必须能够连接到 在端口 5672 上建立代理

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 服务器 (8084)
8090 供 Qpid 的 Broker 管理和监控队列的默认管理端口。 浏览器或 API 客户端 Qpid 代理 (apigee-qpidd)
8443 启用 TLS 时路由器和消息处理器之间的通信 路由器 消息处理器
8998 路由器和消息处理器之间的通信 路由器 消息处理器
9000 默认边缘管理界面端口 浏览器 管理界面服务器
9042 CQL 原生传输 路由器
消息处理器
管理服务器
Cassandra
9099 外部 IDP 身份验证 IDP、浏览器和管理服务器 Apigee 单点登录
9160 Cassandra 旧款客户 路由器
消息处理器
管理服务器
Cassandra
10389 LDAP 端口 管理服务器 OpenLDAP
15999 健康检查端口。负载平衡器使用此端口来确定路由器是否 可用。 负载均衡器 路由器
59001 apigee-validate 实用程序用于测试 Edge 安装的端口 apigee-validate 路由器
59002 发送 SmartDocs 页面请求的路由器端口 SmartDocs 路由器

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

为防止出现这种情况,Apigee 建议将 Cassandra 服务器、Message Processor 和 路由器位于同一子网中,因此在部署这些路由器时不涉及防火墙 组件。

如果防火墙位于路由器和消息处理器之间,并设置了空闲的 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