为 HTTPS 访问配置 apigee-sso

适用于私有云的 Edge v4.18.01

安装和配置 Edge SSO 介绍了如何 按照 以下属性:

SSO_TOMCAT_PROFILE=DEFAULT

或者,您可以将 SSO_TOMCAT_PROFILE 设置为以下其中一项 值以启用 HTTPS 访问:

  • SSL_PROXY - 在代理模式下配置 apigee-sso,这意味着 在 apigee-sso 前面安装了负载平衡器,并在负载上终止了 TLS 进行负载均衡。然后,您需要为来自负载的请求指定在 apigee-sso 上使用的端口 进行负载均衡。
  • SSL_TERMINATION - 针对 Edge SSO 模块 apigee-sso 启用了 TLS 访问 您选择的端口您必须为此模式指定一个密钥库,其中包含由 加拿大。您无法使用自签名证书。

您可以选择在首次安装和配置 apigee-sso 时启用 HTTPS,也可以稍后启用。

使用任一模式启用对 apigee-sso 的 HTTPS 访问权限都会停用 HTTP 访问权限。也就是说,您无法同时使用 HTTP 和 HTTPS 访问 apigee-sso 同时进行。

启用 SSL_PROXY 模式

SSL_PROXY 模式下,您的系统 在 Edge SSO 模块前面使用负载平衡器,并终止负载平衡器上的 TLS。在 如下图所示,负载平衡器会在端口 443 上终止 TLS,然后将请求转发到 端口 9099 上的 Edge SSO 模块:

在此配置中,您信任从负载平衡器到 Edge SSO 模块的连接 因此无需针对该连接使用 TLS但是,SAML 等外部实体 IDP,现在必须通过端口 443(而不是不受保护的端口 9099)访问 Edge SSO 模块。

将 Edge SSO 模块配置为 SSL_PROXY 模式的原因是 Edge SSO 模块 自动生成在身份验证过程中供 IDP 在外部使用的重定向网址。 因此,这些重定向网址必须包含负载平衡器上的外部端口号,即 443 in 而不是 Edge SSO 模块的内部端口 (9099)。

注意:您无需为 SSL_PROXY 模式创建 TLS 证书和密钥,因为来自 Edge SSO 模块的负载平衡器使用的是 HTTP。

要为 SSL_PROXY 模式配置 Edge SSO 模块,请执行以下操作:

  1. 将以下设置添加到您的配置文件中:
    # 启用 SSL_PROXY 模式。
    SSO_TOMCAT_PROFILE=SSL_PROXY

    # 指定 apigee-sso 端口,通常介于 1025 到 65535 之间。
    # 通常,端口 1024 及以下需要由 apigee-sso 获得 root 访问权限。
    # 默认值为 9099。
    SSO_TOMCAT_PORT=9099

    # 在负载平衡器上指定用于终止 TLS 的端口号。
    # apigee-sso 需要此端口号自动生成重定向网址。
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443

    # 将 apigee-sso 的公开访问架构设置为 https。
    SSO_PUBLIC_URL_SCHEME=https
  2. 配置 Edge 单点登录模块:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso 设置 -f configFile
  3. 更新您的 IDP 配置,立即在加载作业的端口 443 上发出 HTTPS 请求 负载平衡器访问 Edge SSO。请参阅配置 SAML IDP
  4. 通过设置以下属性,针对 HTTPS 更新 Edge 界面配置:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https


    如需了解详情,请参阅在 Edge 界面上启用 SAML
  5. 如果您安装了开发者服务门户或 API BaaS,请更新它们以使用 HTTPS 来 访问 Ede SSO。如需了解详情,请参阅: <ph type="x-smartling-placeholder">

启用 SSL_TERMINATION 模式

对于 SSL_TERMINATION 模式,您 必须:

  • 生成了 TLS 证书和密钥,并将它们存储在密钥库文件中。您不能使用 自签名证书您必须通过 CA 生成证书。
  • 更新 apigee-sso.

如需基于证书和密钥创建密钥库文件,请执行以下操作:

  1. 为 JKS 文件创建目录:
    &gt;sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. 切换到新目录:
    &gt;cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. 创建包含证书和密钥的 JKS 文件。您必须为此模式指定密钥库 (包含由 CA 签署的证书)。您无法使用自签名证书。有关 请参阅为 JKS 文件配置 TLS/SSL Edge On Premises
  4. 创建“apigee”所拥有的 JKS 文件用户:
    &gt;sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

如需配置 Edge SSO 模块,请执行以下操作:

  1. 将以下设置添加到您的配置文件中:
    # 启用 SSL_TERMINATION 模式。
    SSO_TOMCAT_PROFILE=SSL_TERMINATION

    # 指定密钥库文件的路径。
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    SSO_TOMCAT_KEYSTORE_ALIAS=sso

    # 创建密钥库时指定的密码。
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword

    # 指定 1025 到 65535 之间的 HTTPS 端口号。
    # 通常,端口 1024 及以下需要由 apigee-sso 获得 root 访问权限。
    # 默认值为 9099。
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443

    # 将 apigee-sso 的公开访问架构设置为 https。
    SSO_PUBLIC_URL_SCHEME=https
  2. 配置 Edge 单点登录模块:
    &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-sso 设置 -f configFile
  3. 更新您的 IDP 配置,立即在加载作业的端口 9443 上发出 HTTPS 请求 负载平衡器访问 Edge SSO。请参阅配置 SAML IDP
  4. 通过设置以下属性,针对 HTTPS 更新 Edge 界面配置:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https


    如需了解详情,请参阅在 Edge 界面上启用 SAML
  5. 如果您安装了开发者服务门户或 API BaaS,请更新它们以使用 HTTPS 来 访问 Ede SSO。如需了解详情,请参阅: <ph type="x-smartling-placeholder">

使用 SSL_TERMINATION 模式时设置 SSO_TOMCAT_PROXY_PORT

您可能会在 Edge SSO 模块前面放置一个负载平衡器,该负载平衡器会在负载上终止 TLS 并在负载平衡器和 Edge SSO 之间启用 TLS。在上图中 SSL_PROXY 模式,则 表示从负载平衡器到 Edge SSO 的连接使用 TLS。

在这种情况下,您需要按照上文针对 SSL_TERMINATION 模式配置 TLS 的方式在边缘单点登录 (SSO) 上配置。但是,如果负载 负载平衡器使用的 TLS 端口号与 Edge SSO 用于 TLS 的不同,您还必须指定 SSO_TOMCAT_PROXY_PORT 属性。例如:

  • 负载平衡器在端口 443 上终止 TLS
  • Edge SSO 会在端口 9443 上终止 TLS

请确保在配置文件中包含以下设置:

# 指定端口 号码,以终止 TLS。
# 此端口号为 必要 apigee-sso 需要进行重定向 网址。
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

配置 IDP 和 Edge 界面,以在端口 443 上发出 HTTPS 请求。