为管理界面配置 TLS

适用于私有云的 Edge v. 4.17.01

默认情况下,您可以使用管理服务器节点的 IP 地址和端口 9000 通过 HTTP 访问 Edge 管理界面。例如:

http://ms_IP:9000

或者,您也可以为管理界面配置 TLS 访问权限,以便使用以下形式进行访问:

https://ms_IP:9443

在此示例中,您将 TLS 访问配置为使用端口 9443。但是,Edge 不需要该端口号,您可以将管理服务器配置为使用其他端口值。唯一的要求是,您的防火墙允许通过指定端口传输流量。

确保 TLS 端口处于打开状态

本部分中的步骤会将 TLS 配置为使用管理服务器上的端口 9443。 无论您使用哪个端口,都必须确保管理服务器上该端口处于打开状态。例如,您可以使用以下命令将其打开:

$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose 

配置 TLS

请按照以下步骤配置对管理界面的 TLS 访问权限:

  1. 生成包含 TLS 证书和私钥的密钥库 JKS 文件,并将其复制到管理服务器节点。如需了解详情,请参阅为边缘设备 (On Premises) 配置 TLS/SSL
  2. 运行以下命令以配置 TLS:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. 输入 HTTPS 端口号,例如 9443。
  4. 指定是否要停用对管理界面的 HTTP 访问权限。默认情况下,您可以通过端口 9000 通过 HTTP 访问管理界面。
  5. 输入密钥库算法。默认值为 JKS。
  6. 输入密钥库 JKS 文件的绝对路径。

    该脚本会将文件复制到管理服务器节点上的 /opt/apigee/customer/conf 目录,并将文件的所有权更改为 apigee
  7. 输入明文密钥库密码。
  8. 然后,该脚本会重启 Edge 管理界面。重启后,管理界面支持通过 TLS 访问。
    您可以在 /opt/apigee/etc/edge-ui.d/SSL.sh 中查看这些设置。

您还可以将配置文件传递给命令,而不是响应提示。配置文件采用以下属性:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

然后,使用以下命令配置 Edge 界面的 TLS:

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

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

如果您有将请求转发到 Edge 界面的负载平衡器,则可以选择终止负载平衡器上的 TLS 连接,然后让负载平衡器通过 HTTP 将请求转发到 Edge 界面。此配置受支持,但您需要相应地配置负载平衡器和 Edge 界面。

如果 Edge 界面在创建用户或请求重置丢失的密码时向用户发送电子邮件来设置密码,则需要进行额外配置。此电子邮件包含用户选择用于设置或重置密码的网址。默认情况下,如果 Edge 界面未配置为使用 TLS,则生成的电子邮件中的网址将使用 HTTP 协议,而不是 HTTPS。 您必须配置负载平衡器和 Edge 界面,以生成使用 HTTPS 的电子邮件地址。

如需配置负载平衡器,请确保它在转发到 Edge 界面的请求中设置以下标头:

X-Forwarded-Proto: https

如需配置 Edge 界面,请执行以下操作:

  1. 在编辑器中打开 /opt/apigee/customer/application/ui.properties 文件。如果该文件不存在,请创建该文件:
    > vi /opt/apigee/customer/application/ui.properties
  2. ui.properties 中设置以下属性:
    conf/application.conf+trustxforwarded=true
  3. 将所做的更改保存到 ui.properties
  4. 重启 Edge 界面:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-ui restart