托管目标常见问题解答

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

我可以创建或部署的托管目标数量是否有限制?

如需了解方案的托管目标权限,请参阅 Apigee Edge Cloud 比较矩阵规范表

托管目标代理是否支持 Management API?

未创建新的管理 API 或更改了现有 API 以支持托管目标;但是,您可以使用现有的管理 API 来部署和管理使用托管目标的代理,前提是正确构建了托管的目标代理。另请参阅 Node.js 应用所需的目录结构

我可以使用 IP 许可名单来保护目标后端吗?

作为托管目标构建基础的技术 Google App Engine (GAE),无法为应用提供静态 IP 地址。GAE 使用 IP 池范围;因此,可能允许一系列 IP 地址。如需了解详情,请参阅这篇 GAE 常见问题解答条目:静态 IP 地址和 App Engine 应用

我可以在一个代理中放置多个 <HostedTarget> 目标端点吗?

不可以。每个代理仅部署一个 Hosted Target 应用。已部署的应用位于代理的 resources/Host 目录中。

有没有可能解决缺少 Apigee 访问权限的问题?

您无法在 Hosted Target 应用中使用 apigee-access 模块。如果您将传统嵌入式 Node.js 与 apigee-access 搭配使用,并希望迁移到托管目标,请考虑以下可能性:

  • 使用 Edge 政策 - 尽可能使用标准 Edge 政策替换现有 apigee-access 代码的作用。
  • 使用标头 - 您可以在 HTTP 请求标头中将 KVM 值和流变量放入 Node.js 应用。此策略适用于 API 代理请求流中提供的 KVM 值或流变量。
  • 使用环境变量 - 您可以设置环境变量,这些变量的值由 KVM 提供。如需了解详细内容,请参阅用户指南的清单文件部分。

我可以将 Java 密钥库 (JKS) 文件用于 TLS 吗?

托管目标不支持通过 JKS 使用 TLS 来替代 PEM 文件。请点击此处查看以前的文档。Hosted Target 使用原生 Node.js,因此以原生方式使用 OpenSSL。在设置 TLS/SSL 连接时,请参阅 Node.js 文档提供的 TLS (SSL) 文档

管理临时文件的最佳方式是什么?

请务必删除临时文件。临时目录中的本地磁盘存储是内存中的文件系统。您写入的所有文件都会占用函数可以使用的内存。您写入的文件通常可用于连续的调用,因此,如果不删除这些文件,最终可能会导致内存不足错误,并且随后需要进行冷启动。

请勿试图在临时目录之外执行写入操作。另外,请使用 os.tmpdir()path.join() 等独立于平台的方法来构建临时文件路径,使您的函数也可以在任何平台的模拟器上运行。

如需了解详情,请参阅这份 Google Cloud 文档

我可以部署多个代理修订版本吗?

Apigee Edge 允许您将代理的多个修订版本部署到具有不同基本路径的环境中;但是,托管目标不支持此行为。

请求标头大小是否有限制?

对于最新版本的 Node.js (11.3.0+) 以及 LTS 版本(包括 6.14.0+、8.14.0+ 和 11.3.0+),您可以在 Node.js 应用中使用的最大请求标头大小为 8 KB。如果要传递大于 8 KB 的标头,请指定以上列表中未列出的其他 Node.js 版本。您可以在应用的清单文件中执行此操作。例如:

  runtime: node
  runtimeVersion:6.4.1
  application:my-express-app
  env:
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  

我可以将 HTTP 响应流式传输用于托管目标吗?

托管目标不支持 HTTP 响应流式传输,因为构建托管目标所依据的技术 Google App Engine (GAE) 不支持流式传输

是否有请求超时限制?

Google App Engine (GAE) 将请求超时设置为 60 秒。另请参阅 GAE 文档中的配额和限制