适用于私有云的 Edge v. 4.17.09
在以下两种情况下,您需要安装多个 Edge SSO 实例以实现高可用性:
- 在单个数据中心环境中,安装两个 Edge SSO 实例以 可用性环境,则意味着当某个 Edge 单点登录 (SSO) 服务启用时,系统会继续运行 都会发生故障
- 在拥有两个数据中心的环境中,同时在两个数据中心都安装 Edge SSO, 如果某个 Edge SSO 模块发生故障,系统就会继续运行。
在同一处安装两个 Edge SSO 模块 数据中心
您需要在单个数据中心在不同节点上部署两个 Edge SSO 实例, 高可用性在这种情况下:
- Edge SSO 的两个实例都必须连接到同一 Postgres 服务器。Apigee 推荐 使用专用的 Postgres 服务器进行 Edge SSO,而不要使用 随 Edge 一起安装。
- 您需要在两个 Edge SSO 实例前面添加负载平衡器:
<ph type="x-smartling-placeholder">
- </ph>
- 负载平衡器必须支持应用生成的 Cookie 粘性,并且会话
Cookie 必须命名为
JSESSIONID
。 - 配置负载平衡器,以对 Edge SSO 执行 TCP 或 HTTP 健康检查。对于 TCP,
使用 Edge SSO 的网址:
http_or_https://edge_sso_IP_DNS:
9099
指定 Edge SSO 设置的端口。默认端口为 9099。
对于 HTTP,请添加/healthz
:
http_or_https://edge_sso_IP_DNS
:9099/healthz
- 部分负载平衡器设置取决于您是否在 Edge SSO 上启用了 HTTPS。请参阅 。
- 负载平衡器必须支持应用生成的 Cookie 粘性,并且会话
Cookie 必须命名为
使用 HTTP 访问 到 Edge 单点登录
如果您使用 HTTP 访问 Edge SSO,请将负载平衡器配置为:
- 使用 HTTP 模式连接到 Edge SSO
- 通过与 Edge SSO 相同的端口监听
默认情况下,Edge SSO 会监听端口 9099 上的 HTTP 请求。您可以根据需要使用SSO_TOMCAT_PORT
用于设置 Edge 单点登录端口。如果您使用的是SSO_TOMCAT_PORT
将 Edge SSO 端口从默认值更改为其他端口,请确保负载平衡器监听该端口 端口。
例如,在每个 Edge SSO 实例上,您通过将以下内容添加到 配置文件:
SSO_TOMCAT_PORT=9033
然后,将负载平衡器配置为监听端口 9033 并将请求转发到 Edge 端口 9033 上的 SSO 实例。在此场景中,Edge SSO 的公开网址为:
http://LB_DNS_NAME:9033
使用 HTTPS 访问 到 Edge 单点登录
您可以将 Edge SSO 实例配置为使用 HTTPS。在这种情况下,请按照
配置 apigee-sso 以进行 HTTPS 访问。如
是启用 HTTPS 的组成部分,请在 Edge SSO 中设置 SSO_TOMCAT_PROFILE
配置文件,如下所示:
SSO_TOMCAT_PROFILE=SSL_TERMINATION
您也可以选择设置 Edge SSO 用于 HTTPS 访问的端口:
SSO_TOMCAT_PORT=9443
如果您使用 HTTPS 访问 Edge SSO,请将负载平衡器配置为:
- 使用 TCP 模式(而非 HTTP 模式)连接到 Edge SSO
- 通过
SSO_TOMCAT_PORT
定义的与 Edge SSO 相同的端口监听
然后,配置负载平衡器,以将请求转发到端口 9433 上的 Edge SSO 实例。 在此场景中,Edge SSO 的公开网址为:
https://LB_DNS_NAME:9443
在多个数据中心安装 Edge SSO
在多个数据中心环境中,您需要在每个数据中心都安装一个 Edge SSO 实例。 然后,一个 Edge SSO 实例会处理所有流量。如果该 Edge SSO 实例发生故障,您可以 切换到第二个 Edge SSO 实例。
在两个数据中心中安装 Edge SSO 之前,您需要做好以下准备:
- 主 Postgres 服务器的 IP 地址或域名。
在多个数据中心环境中,您通常需要在每个数据 中都安装一个 Postgres 服务器 并在主备用复制模式下对其进行配置。在此示例中,data 中心 1 包含 Master Postgres 服务器和数据中心 2 包含待机模式。有关详情,请参阅为 Postgres。 - 指向一个 Edge SSO 实例的单个 DNS 条目。例如,您创建了一个
下方表单中指向数据中心 1 的 Edge SSO 实例的条目:
my-sso.domain.com => apigee-sso-dc1-ip-or-lb
在每个数据中心中安装 Edge SSO 时,请将两者都配置为使用 Postgres 主实例 数据中心 1:
## Postgres configuration.
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432
您还可以将这两者配置为使用 DNS 条目作为可公开访问的网址:
# Externally accessible URL of Edge SSO. SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com # Default port is 9099. SSO_PUBLIC_URL_PORT=9099
如果数据中心 1 的 Edge SSO 出现故障,您可以切换到数据中的 Edge SSO 实例 中心 2:
- 将数据中心 2 中的 Postgres 备用服务器转换为主服务器,如 处理 PostgreSQL 数据库故障切换。
- 更新 DNS 记录以将
my-sso.domain.com
指向以下范围内的 Edge SSO 实例: 数据中心 2:
my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- 更新数据中心 2 中 Edge SSO 的配置文件,以指向新的 Postgres 主实例
服务器(位于数据中心 2):
## Postgres configuration.
PG_HOST=IP_or_DNS_of_PG_Master_in_DC2 - 在数据中心 2 中重启 Edge SSO 以更新其配置:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart