使用引用

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

配置虚拟主机以支持 TLS 时,您可以使用引用来指定密钥库或信任库。引用是一个包含密钥库或信任库名称的变量,而不是直接指定密钥库或信任库的名称,如下所示:

    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>

使用引用的优势在于,您可以更改引用的值,以更改虚拟主机使用的密钥库,这通常是因为当前密钥库中的证书很快就会过期。更改引用的值不需要重启边缘路由器。

您只能使用密钥库和信任库的引用;而不能使用别名的引用。更改密钥库的引用时,确保证书的别名与旧密钥库中的别名相同。

使用对密钥库和信任库的引用的限制

使用对密钥库和信任库的引用时,您必须考虑以下限制:

  • 如果您支持 SNI 并在 Apigee 路由器上终止 SSL,则只能在虚拟主机中使用密钥库和信任库引用。
  • 如果您在 Apigee Router 之前有一个负载平衡器,并在负载平衡器上终止 TLS,则不能在虚拟主机中使用密钥库和信任库引用。

创建引用

如需在 Edge 界面中创建引用,请执行以下操作:

  1. 访问 https://enterprise.apigee.com,登录 Edge 管理界面。
  2. 在 Edge 管理界面菜单中,选择您的组织名称。
  3. 根据您的 Edge 界面版本,执行以下操作:
    1. 如果您使用的是传统版 Edge 界面:依次选择 API > 环境配置
    2. 如果您使用的是新版 Edge 界面:请依次选择管理 > 环境
  4. 选择环境(通常为 prodtest
  5. 选择参考文件标签。
  6. 选择 + 参考文件按钮。系统随即会显示以下弹出式窗口:
  7. 指定以下内容:
    1. 引用的名称
    2. 引用所引用的实体,表示密钥库或信任库的名称。
    3. 选择保存

或者,使用 Create Reference API 调用创建名为 keystoreref 的引用:

curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
-d '<ResourceReference name="keystoreref">
    <Refers>myTestKeystore</Refers>
    <ResourceType>KeyStore</ResourceType>
</ResourceReference>' -u orgAdminEmail:password

此引用指定密钥库的名称及其类型。使用相同的 API 调用来创建对信任库的引用。

修改引用

如需在 Edge 界面中修改引用的值,请执行以下操作:

  1. 访问 https://enterprise.apigee.com,登录 Edge 管理界面。
  2. 在 Edge 管理界面菜单中,选择您的组织名称。
  3. 根据您的 Edge 界面版本,执行以下操作:
    1. 如果您使用的是传统版 Edge 界面:依次选择 API > 环境配置
    2. 如果您使用的是新版 Edge 界面:请依次选择管理 > 环境
  4. 选择环境(通常为 prodtest
  5. 选择参考文件标签。
  6. 参考资料标签页中,选择参考资料的修改按钮。
  7. 更新引用以指定新的密钥库或信任库。注意:确保新密钥库中的别名与旧密钥库中的别名相同。
  8. 选择保存

如需将引用更改为指向其他密钥库,确保新密钥库中的别名与旧密钥库中的别名相同,请使用 Update Reference API:

curl -X PUT -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references/keystoreref \
-d '<ResourceReference name="keystoreref">
    <Refers>myNewKeystore</Refers>
    <ResourceType>KeyStore</ResourceType>
</ResourceReference>' -u orgAdminEmail:password