为 Management API 配置 TLS

适用于私有云的 Edge v. 4.16.05

默认情况下,Management API 的 TLS 处于停用状态,并且您可以通过 使用管理服务器节点的 IP 地址和端口 8080 进行 HTTP 连接。例如:

http://ms_IP:8080

或者,您也可以为 Management API 配置 TLS 访问,以便 表单:

https://ms_IP:8443

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

如需确保对传入和传出 Management API 的流量进行加密,请在 /<install_dir>/apigee/customer/application/management-server.properties 文件。

除了 TLS 配置外,您还可以控制密码验证(密码长度) 和强度)通过修改 management-server.properties 文件来设置。

确保您的 TLS 端口已打开

本部分中的步骤将 TLS 配置为使用管理服务器上的端口 8443。 无论您使用哪个端口,都必须确保该端口在 Management API 计算机上 服务器。例如,您可以使用以下命令将其打开:

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

配置 TLS

修改 /<install_dir>/apigee/customer/application/management-server.properties 文件来控制进出 Management API 的流量对 TLS 的使用。如果此文件不存在, 创建它。

请按照以下步骤配置对 Management API 的 TLS 访问:

  1. 生成包含 TLS 证书和私钥的密钥库 JKS 文件。有关 请参阅为 Edge On 配置 TLS/SSL 场所
  2. 将密钥库 JKS 文件复制到管理服务器节点上的某个目录中,例如 /tmp
  3. 将 JKS 文件的所有权更改为 apigee:
    $ chown apigee:apigee keystore.jks

    其中,keystore.jks是您的密钥库文件的名称。
  4. 修改 /<install_dir>/apigee/customer/application/management-server.properties 来设置以下属性。如果该文件不存在,请创建:
    conf_webserver_ssl.enabled=true
    # 如果所有通信都应该通过 HTTPS 进行,则在“true”旁设置。
    # 不推荐,因为许多 Edge 内部调用都使用 HTTP。
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/tmp/keystore.jks
    # 在下面输入经过混淆处理的密钥库密码。
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    其中“keyStore.jks”是您的密钥库文件,keyStore.jks obfuscatedPassword 是您经过混淆处理的密钥库密码。请参阅为边缘本地部署配置 TLS/SSL 部分 了解如何生成经过混淆处理的密码。
  5. 使用以下命令重启边缘管理服务器:
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service Edge-management-server 重启

Management API 现在支持通过 TLS 访问。

将 Edge 界面配置为使用 TLS 访问 Edge API

在上述过程中,Apigee 建议保留 conf_webserver_http.turn.off=false, Edge 界面可以继续通过 HTTP 进行 Edge API 调用。按照以下步骤操作 将 Edge 界面配置为仅通过 HTTPS 进行这些调用:

  1. 按照上述说明配置对 Management API 的 TLS 访问。
  2. 确认 TLS 对管理 API 有效后,将 /<install_dir>/apigee/customer/application/management-server.properties 修改为 请设置以下属性:
    conf_webserver_http.turn.off=true
  3. 使用以下命令重启边缘管理服务器:
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service Edge-management-server 重启
  4. 修改 /<install_dir>/apigee/customer/application/ui.properties 为 Edge 界面设置以下属性。如果该文件不存在,请创建:
    conf_apigee_apigee.mgmt.baseurl=&quot;https://MS_IP:8443/v1&quot;

    其中 MS_IP 是管理服务器的 IP 地址和端口 number 为上面通过 conf_webserver_ssl.port 指定的端口。
  5. 仅当您在配置 TLS 访问时使用自签名证书时 请将以下属性添加到 ui.properties
    conf/application.conf+ws.acceptAnyCertificate=true

    否则,Edge 界面将拒绝自签名证书。
  6. 使用以下命令重启 Edge 界面:
    $ /<install_dir>/apigee/apigee-service/bin/apigee-serviceedge-ui restart

管理服务器的 TLS 属性

下表列出了您可以在 management-server.properties 中设置的 TLS/SSL 属性:

媒体资源

说明

conf_webserver_http.port=8080

默认值为 8080。

conf_webserver_ssl.enabled=false

要启用/停用 TLS/SSL。启用 TLS/SSL 后 (true),您还必须设置 ssl.port 和 keystore.path 属性

conf_webserver_http.turn.off=true

要启用/停用 http 和 https。如果您只想使用 HTTPS,请将 默认值为 true

conf_webserver_ssl.port=8443

TLS/SSL 端口。

启用 TLS/SSL 后必需 (conf_webserver_ssl.enabled=true)。

conf_webserver_keystore.path=&lt;path&gt;

密钥库文件的路径。

启用 TLS/SSL 后必需 (conf_webserver_ssl.enabled=true)。

conf_webserver_keystore.password=

使用经过混淆处理的密码,格式如下:OBF:xxxxxxxxxx

conf_webserver_cert.alias=

可选的密钥库证书别名

conf_webserver_keymanager.password=

如果您的密钥管理器设有密码,请在此输入密码的混淆版本 此格式:OBF:xxxxxxxxxx

conf_webserver_trust.all= <false |true>

conf_webserver_trust.store.path=&lt;path&gt;

conf_webserver_trust.store.password=

为您的受信任证书存储区配置设置。确定是否要接受 TLS/SSL 证书(例如,接受非标准类型的证书)。默认值为 false。提供路径 您的受信任证书存储区,并按以下格式输入经过混淆处理的受信任证书存储区密码: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=&lt;CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

指明要包含或排除的任何加密套件。例如,如果您 发现加密中的漏洞,可以在此处排除。拆分多个加密方式 以及空格。

如需了解加密套件和加密架构,请参阅:

<ph type="x-smartling-placeholder"></ph> http://docs.oracle.com/javase/8/docs/technotes/
guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

用于确定以下各项的整数:

  • 用于存储以下对象的会话信息的 TLS/SSL 会话缓存大小(以字节为单位) 多个客户端。
  • TLS/SSL 会话在超时之前可以持续的时长( 毫秒)。