对防火墙的管理不仅仅局限于虚拟主机;虚拟机和物理主机 防火墙必须允许组件与各个组件通信所需端口的流量通过 其他。
端口图
下图显示了单个数据中心和多个数据中心的端口要求 数据中心配置:
单个数据中心
下图显示了单个数据中每个 Edge 组件的端口要求 中心配置:
下图中的备注:
- 以“M”为前缀的端口是用于管理组件的端口,必须在 组件。
- Edge 界面需要访问 API 代理公开的端口上的路由器,以支持 跟踪工具中的发送按钮。
- 对 JMX 端口的访问可配置为需要用户名/密码。请参阅 如需了解详情,请参阅如何监控。
- 您可以选择为特定连接配置 TLS/SSL 访问, 不同的端口请参阅 TLS/SSL 。
- 您可以将管理服务器和边缘界面配置为通过外部 SMTP 发送电子邮件 服务器。如果这样做,您必须确保管理服务器和 UI 可以访问必要的 SMTP 服务器上的端口(未显示)。对于非 TLS SMTP,端口号通常为 25。对于 已启用 TLS 的 SMTP,该值通常为 465,但请咨询您的 SMTP 提供商。
多个数据中心
如果您要在集群内安装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 节点的拓扑中,服务器必须能够连接到 在端口 5672 上建立代理 |
|
8083 | Qpid 服务器上的默认管理端口,必须在组件上打开 管理服务器访问的资源。 | |
路由器 | 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 节点的拓扑中,服务器必须能够连接到 在端口 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) |
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 超时, 我们的建议是:
- 在 Linux 操作系统上的 sysctl 设置中设置
net.ipv4.tcp_keepalive_time = 1800
,其中 1800 应低于防火墙空闲 TCP 超时时间。此设置应该会使 确保防火墙不会断开连接。 - 在所有消息处理器上,修改
/opt/apigee/customer/application/message-processor.properties
以添加以下属性。如果该文件不存在,请创建该文件。conf_system_cassandra.maxconnecttimeinmillis=-1
- 重启消息处理器:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 在所有路由器上,修改
/opt/apigee/customer/application/router.properties
以添加以下属性。如果该文件不存在,请创建该文件。conf_system_cassandra.maxconnecttimeinmillis=-1
- 重启路由器:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart