为新 Edge 界面配置 TLS

默认情况下,您可以使用 New Edge 界面 节点的 IP 地址或 DNS 名称以及端口 3001 通过 HTTP 访问 New Edge 界面。例如:

http://edge_UI_IP:3001

或者,您可以配置对 New Edge 界面的 TLS 访问权限,以便您可以通过以下形式访问该界面:

https://edge_UI_IP:3001

TLS 要求

New Edge 界面支持 TLS v1.2 及更高版本。如果您在 New Edge 界面上启用 TLS, 用户必须使用与 TLS v1.2 或更高版本兼容的浏览器连接到 New Edge 界面。

TLS 配置属性

执行以下命令,为 New Edge 界面配置 TLS:

/opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

其中,configFile 是您用于安装或配置 New Edge 界面的配置文件。

在执行此命令之前,您必须修改配置文件以设置控制 TLS 所需的属性。下表介绍了用于为 New Edge 界面配置 TLS 的 属性:

属性 说明 是否必需?
MANAGEMENT_UI_SCHEME

设置用于访问 New Edge 界面的协议,即“http”或“https”。 默认值为“http”。将其设置为“https”以启用 TLS:

MANAGEMENT_UI_SCHEME=https
是
MANAGEMENT_UI_TLS_OFFLOAD

如果为“n”,则表示发送到 New Edge 界面的 TLS 请求在 New Edge 界面处终止 。您必须设置 MANAGEMENT_UI_TLS_KEY_FILE 和 MANAGEMENT_UI_TLS_CERT_FILE。

如果为“y”,则表示发送到 New Edge 界面的 TLS 请求在 负载均衡器上终止,然后负载均衡器使用 HTTP 将请求转发到 New Edge 界面。

如果您在负载均衡器上终止 TLS,New Edge 界面仍然需要知道原始请求是通过 TLS 传入的。例如,某些 Cookie 设置了 Secure 标志。

您必须将 MANAGEMENT_UI_SCHEME 设置为“https”,否则系统会忽略 MANAGEMENT_UI_TLS_OFFLOAD:

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD=y
是
MANAGEMENT_UI_TLS_KEY_FILE

MANAGEMENT_UI_TLS_CERT_FILE

如果 MANAGEMENT_UI_TLS_OFFLOAD=n,则指定 TLS 密钥和证书文件的绝对路径 。这些文件必须采用无密码短语的 PEM 格式,并且必须归“apigee”用户所有。

建议将这些文件放在以下位置:

/opt/apigee/customer/application/edge-management-ui

如果该目录不存在,请创建它。

如果 MANAGEMENT_UI_TLS_OFFLOAD=y,则省略 MANAGEMENT_UI_TLS_KEY_FILE 和 MANAGEMENT_UI_TLS_CERT_FILE。由于发送到 New Edge 界面的请求是通过 HTTP 传入的,因此系统会忽略这些属性。

如果 MANAGEMENT_UI_TLS_OFFLOAD=n ,则为“是”
MANAGEMENT_UI_PUBLIC_URIS

如果 MANAGEMENT_UI_TLS_OFFLOAD=n,则指定 New Edge 界面的网址。

根据配置文件中的其他属性设置此属性。例如:

MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT

其中:

  • MANAGEMENT_UI_SCHEME 指定协议,即“http”或“https”(如上所述)。
  • MANAGEMENT_UI_IP 指定 New Edge 界面的 IP 地址或 DNS 名称。
  • MANAGEMENT_UI_PORT 指定 New Edge 界面使用的端口。

如需详细了解这些属性,请参阅配置 New Edge 界面。

如果 MANAGEMENT_UI_TLS_OFFLOAD=y:

  • MANAGEMENT_UI_IP 指定 负载均衡器 的 IP 地址或 DNS 名称, 而不是 New Edge 界面的 IP 地址或 DNS 名称。
  • 负载均衡器和 New Edge 界面必须对请求使用相同的端口号,例如 3001。 使用 MANAGEMENT_UI_PORT 指定负载均衡器和 New Edge 界面上的端口号。

是

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS

将可用 TLS 密码列表定义为以英文逗号或空格分隔的字符串。

以英文逗号分隔的字符串:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

用英文双引号括起来的以空格分隔的字符串:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"

配置 TLS

如需配置对 New Edge 界面的 TLS 访问权限,请执行以下操作:

  1. 将 TLS 证书和密钥生成为无口令的 PEM 文件。例如:

    mykey.pem
    mycert.pem

    您可以通过多种方式生成 TLS 证书和密钥。例如,您可以执行以下 命令来生成未签名的证书和密钥:

    openssl req -x509 -newkey rsa:4096 -keyout mykey.pem -out mycert.pem -days 365 -nodes -subj '/CN=localhost'
  2. 将密钥和证书文件复制到 /opt/apigee/customer/application/edge-management-ui 目录。 如果该目录不存在,请创建它。
  3. 确保证书和密钥归“apigee”用户所有:

    chown apigee:apigee /opt/apigee/customer/application/edge-management-ui/*.pem
  4. 修改您用于安装 New Edge 界面的配置文件,以 设置以下 TLS 属性:

    # Set to https to enable TLS.
    MANAGEMENT_UI_SCHEME=https 
    # Do NOT terminate TLS on a load balancer.
    MANAGEMENT_UI_TLS_OFFLOAD=n
    
    # Specify the key and cert. 
    MANAGEMENT_UI_TLS_KEY_FILE=/opt/apigee/customer/application/edge-management-ui/mykey.pem
    MANAGEMENT_UI_TLS_CERT_FILE=/opt/apigee/customer/application/edge-management-ui/mycert.pem
    
    # Leave these properties set to the same values as when you installed the New Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
  5. 执行以下命令以配置 TLS:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    其中,configFile 是配置文件的名称。

    该脚本会重启 New Edge 界面。重启后,New Edge 界面支持通过 HTTPS 进行访问。 如果您在启用 TLS 后无法登录 New Edge 界面,请清除浏览器缓存,然后尝试重新登录。

在负载均衡器上终止 TLS 时配置 New Edge 界面

如果您有一个负载均衡器将请求转发到 New Edge 界面,您可以 选择在负载均衡器上终止 TLS 连接,然后让 负载均衡器通过 HTTP 将请求转发到 New Edge 界面:

架构图,显示了负载均衡器上的 TLS 终结,该负载均衡器将 HTTP 请求转发到端口 3001 上的 New Edge 界面 (edge-management-ui)

此配置受支持,但您需要相应地配置负载均衡器和 New Edge 界面。

如需在负载均衡器上进行 TLS 终结时配置 New Edge 界面,请执行以下操作:

  1. 修改您用于安装 New Edge 界面的配置文件,以 设置以下 TLS 属性:

    # Set to https to enable TLS
    MANAGEMENT_UI_SCHEME=https
    # Terminate TLS on a load balancer
    MANAGEMENT_UI_TLS_OFFLOAD=y
    # Set to the IP address or DNS name of the load balancer.
    MANAGEMENT_UI_IP=LB_IP_DNS
    # Set to the port number for the load balancer and New Edge UI.
    # The load balancer and the New Edge UI must use the same port number.
    MANAGEMENT_UI_PORT=3001
    
    # Leave these properties set to the same values as when you installed the New Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    

    如果您设置了 MANAGEMENT_UI_TLS_OFFLOAD=y,请省略 MANAGEMENT_UI_TLS_KEY_FILE 和 MANAGEMENT_UI_TLS_CERT_FILE。由于发送到 New Edge 界面的请求是通过 HTTP 传入的,因此系统会忽略这些属性。

  2. 执行以下命令以配置 TLS:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    其中,configFile 是配置文件的名称。

    该脚本会重启 New Edge 界面。重启后,New Edge 界面支持通过负载均衡器通过 HTTPS 进行访问。 如果您在启用 TLS 后无法登录 New Edge 界面,请清除浏览器缓存,然后尝试重新登录。

在 New Edge 界面上停用 TLS

如需在 New Edge 界面上停用 TLS,请执行以下操作:

  1. 修改您用于安装 New Edge 界面的配置文件,以设置 以下 TLS 属性:

    # Set to http to disable TLS.
    MANAGEMENT_UI_SCHEME=http
    
    # Only if you had terminated TLS on a load balancer,
    # reset to the IP address or DNS name of the New Edge UI.
    MANAGEMENT_UI_IP=edge_UI_IP_DNS
    
  2. 执行以下命令以停用 TLS:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    其中,configFile 是配置文件的名称。

    该脚本会重启 New Edge 界面。您现在可以通过 HTTP 访问 New Edge 界面。 如果您在停用 TLS 后无法登录 New Edge 界面,请清除浏览器缓存,然后尝试重新登录。