为新版 Edge 界面配置 TLS

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

http://newue_IP:3001

或者,您也可以配置对 Edge 界面的 TLS 访问,以便通过以下形式对其进行访问:

https://newue_IP:3001

TLS 要求

Edge 界面仅支持 TLS v1.2。如果您在 Edge 界面中启用 TLS,则用户必须使用与 TLS v1.2 兼容的浏览器连接到 Edge 界面。

TLS 配置属性

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

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

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

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

媒体资源 说明 是否必需?
MANAGEMENT_UI_SCHEME

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

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD

如果为“n”,则指定在 Edge 界面中终止对 Edge 界面的 TLS 请求。您必须设置 MANAGEMENT_UI_TLS_KEY_FILEMANAGEMENT_UI_TLS_CERT_FILE.

如果为“y”,则指定在负载平衡器上终止对 Edge 界面的 TLS 请求,然后负载平衡器使用 HTTP 将请求转发到 Edge 界面。

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

您必须将 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_FILEMANAGEMENT_UI_TLS_CERT_FILE.。由于对 Edge 界面的请求是通过 HTTP 传入的,因此系统会忽略它们。

如果为 MANAGEMENT_UI_TLS_OFFLOAD=n,则为是
MANAGEMENT_UI_PUBLIC_URIS

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

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

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

其中:

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

如需详细了解这些属性,请参阅安装新版 Edge 界面

如果为 MANAGEMENT_UI_TLS_OFFLOAD=y

  • MANAGEMENT_UI_IP 指定负载平衡器(而非 Edge 界面)的 IP 地址或 DNS 名称。
  • 负载平衡器和新 UE 必须为请求使用相同的端口号,例如 3001。 使用 MANAGEMENT_UI_PORT 指定负载平衡器和新 UE 上的端口号。

SHOEHORN_SCHEME

安装新的 Edge 界面之前,请先安装名为 shoehorn 的基本 Edge 界面。安装配置文件使用以下属性指定用于访问基本 Edge 界面的协议“http”:

SHOEHORN_SCHEME=http

基本 Edge 界面不支持 TLS,因此即使您在 Edge 界面中启用 TLS,此属性仍必须设置为“http”。

是,设置为“http”

配置 TLS

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

  1. 以 PEM 文件的形式生成 TLS 证书和密钥,不带口令。例如:

    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. 修改用于安装 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 Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
  5. 执行以下命令以配置 TLS:

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

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

    该脚本会重启 Edge 界面。

  6. 运行以下命令以设置和重启 shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

配置当负载平衡器上 TLS 终止时的边缘界面

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

终止负载平衡器上的 TLS

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

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

  1. 修改用于安装 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 Edge UI.
    # The load balancer and the Edge UI must use the same port number.
    MANAGEMENT_UI_IP=3001
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
    

    如果您设置了 MANAGEMENT_UI_TLS_OFFLOAD=y,请省略 MANAGEMENT_UI_TLS_KEY_FILEMANAGEMENT_UI_TLS_CERT_FILE.。系统会忽略它们,因为对 Edge 界面的请求是通过 HTTP 传入的。

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

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

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

    该脚本会重启 Edge 界面。

  3. 运行以下命令以设置和重启 shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

在 Edge 界面中停用 TLS

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

  1. 修改用于安装 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 Edge UI.
    MANAGEMENT_UI_IP=newue_IP_DNS
    
  2. 执行以下命令以停用 TLS:

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

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

    该脚本会重启 Edge 界面。

  3. 运行以下命令以设置和重启 shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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