安装和配置 Apigee SSO 介绍了如何安装和配置 Apigee SSO 模块,以便在端口 9099 上使用 HTTP,如 Edge 配置文件中的以下属性所指定:
SSO_TOMCAT_PROFILE=DEFAULT
或者,您也可以将 SSO_TOMCAT_PROFILE 设置为以下值之一,以启用 HTTPS 访问:
- SSL_PROXY::在代理模式下配置 Apigee SSO 模块
apigee-sso,这意味着您已在apigee-sso前面安装了负载均衡器,并在负载均衡器上终止了 TLS。然后,您需要指定apigee-sso上用于接收来自负载均衡器的请求的端口。 - SSL_TERMINATION::在您选择的端口上启用了对
apigee-sso的 TLS 访问。您必须为此模式指定一个包含由 CA 签名的证书的密钥库。您不能使用自签名证书。
您可以在最初安装和配置 apigee-sso 时选择启用 HTTPS,也可以稍后启用。
使用任一模式启用对 apigee-sso 的 HTTPS 访问都会停用 HTTP 访问。也就是说,您无法同时使用 HTTP 和 HTTPS 访问 apigee-sso。
启用 SSL_PROXY 模式
在 SSL_PROXY 模式下,您的系统在 Apigee SSO 模块前面使用负载均衡器,并在负载均衡器上终止 TLS。在下图中,负载均衡器在端口 443 上终止 TLS,然后将请求转发到端口 9099 上的 Apigee SSO 模块:

在此配置中,您信任从负载均衡器到 Apigee SSO 模块的连接,因此无需为该连接使用 TLS。但是,外部实体(例如 IDP)现在必须通过端口 443(而不是未受保护的端口 9099)访问 Apigee SSO 模块。
在 SSL_PROXY 模式下配置 Apigee SSO 模块的原因是,Apigee SSO 模块会自动生成 IDP 在身份验证过程中外部使用的重定向网址。因此,这些重定向网址必须包含负载均衡器上的外部端口号(在本示例中为 443),而不是 Apigee SSO 模块上的内部端口 9099。
如需为 SSL_PROXY 模式配置 Apigee SSO 模块,请执行以下操作:
- 将以下设置添加到配置文件中:
# Enable SSL_PROXY mode. SSO_TOMCAT_PROFILE=SSL_PROXY # Specify the apigee-sso port, typically between 1025 and 65535. # Typically ports 1024 and below require root access by apigee-sso. # The default is 9099. SSO_TOMCAT_PORT=9099 # Specify the port number on the load balancer for terminating TLS. # This port number is necessary for apigee-sso to auto-generate redirect URLs. SSO_TOMCAT_PROXY_PORT=443 SSO_PUBLIC_URL_PORT=443 # Set public access scheme of apigee-sso to https. SSO_PUBLIC_URL_SCHEME=https
- 配置 Apigee SSO 模块:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
- 更新您的 IDP 配置,以便现在在负载均衡器的端口 443 上发出 HTTPS 请求,以访问 Apigee SSO。如需了解详情,请参阅以下内容之一:
- 通过在配置文件中设置以下属性,更新 Edge 界面配置以使用 HTTPS:
SSO_PUBLIC_URL_PORT=443 SSO_PUBLIC_URL_SCHEME=https
然后更新 Edge 界面:
/opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f configFile
对传统版界面使用
edge-ui组件。 - 如果您安装了 Apigee 开发者服务门户(或简称为门户),请将其更新为使用 HTTPS 访问 Apigee SSO。如需了解详情,请参阅配置门户以使用外部 IDP
如需了解详情,请参阅在 Edge 界面上启用外部 IDP。
启用 SSL_TERMINATION 模式
对于 SSL_TERMINATION 模式,您必须:
- 生成 TLS 证书和密钥,并将其存储在密钥库文件中。您不能使用自签名证书。您必须从 CA 生成证书。
- 更新
apigee-sso.的配置设置
如需通过证书和密钥创建密钥库文件,请执行以下操作:
- 为 JKS 文件创建目录:
sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
- 切换到新目录:
cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
- 创建一个包含证书和密钥的 JKS 文件。您必须为此模式指定一个包含由 CA 签名的证书的密钥库。您不能使用自签名证书。如需查看创建 JKS 文件的示例,请参阅为 Edge On Premises 配置 TLS/SSL。
- 将 JKS 文件归“apigee”用户所有:
sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl
如需配置 Apigee SSO 模块,请执行以下操作:
- 将以下设置添加到配置文件中:
# Enable SSL_TERMINATION mode. SSO_TOMCAT_PROFILE=SSL_TERMINATION # Specify the path to the keystore file. SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks SSO_TOMCAT_KEYSTORE_ALIAS=sso # The password specified when you created the keystore. SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword # Specify the HTTPS port number between 1025 and 65535. # Typically ports 1024 and below require root access by apigee-sso. # The default is 9099. SSO_TOMCAT_PORT=9443 SSO_PUBLIC_URL_PORT=9443 # Set public access scheme of apigee-sso to https. SSO_PUBLIC_URL_SCHEME=https
- 配置 Apigee SSO 模块:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
- 更新您的 IDP 配置,以便在负载均衡器的端口 9443 上发出 HTTPS 请求,从而访问 Apigee SSO。请确保没有其他服务正在使用此端口。
详情请参阅以下内容:
- 通过设置以下属性,更新 Edge 界面配置以使用 HTTPS:
SSO_PUBLIC_URL_PORT=9443 SSO_PUBLIC_URL_SCHEME=https
- 如果您安装了开发者服务门户,请将其更新为使用 HTTPS 访问 Apigee SSO。如需了解详情,请参阅将门户配置为使用外部 IDP。
使用 SSL_TERMINATION 模式时设置 SSO_TOMCAT_PROXY_PORT
您可能在 Apigee SSO 模块前面有一个负载均衡器,该负载均衡器会终止负载均衡器上的 TLS,但也会在负载均衡器和 Apigee SSO 之间启用 TLS。在上图中,对于 SSL_PROXY 模式,这意味着从负载均衡器到 Apigee SSO 的连接使用 TLS。
在这种情况下,您需要按照上述 SSL_TERMINATION 模式在 Apigee SSO 上配置 TLS。但是,如果负载均衡器使用的 TLS 端口号与 Apigee SSO 用于 TLS 的端口号不同,则您还必须在配置文件中指定 SSO_TOMCAT_PROXY_PORT 属性。例如:
- 负载均衡器在端口 443 上终止 TLS
- Apigee SSO 在端口 9443 上终止 TLS
请务必在配置文件中添加以下设置:
# Specify the port number on the load balancer for terminating TLS. # This port number is necessary for apigee-sso to generate redirect URLs. SSO_TOMCAT_PROXY_PORT=443 SSO_PUBLIC_URL_PORT=443
配置 IDP 和 Edge 界面,以便在端口 443 上发出 HTTPS 请求。