托管目标常见问题解答

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

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

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

是否为托管目标代理提供管理 API 支持?

我们并未创建新的管理 API,也没有更改现有 API 来支持托管目标;不过,只要托管目标代理构建得当,您就可以使用现有的管理 API 来部署和管理使用托管目标的代理。另请参阅 Node.js 应用所需的目录结构

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

托管目标平台的底层技术 Google App Engine (GAE) 不提供为应用分配静态 IP 地址的方法。GAE 使用 IP 地址池范围;因此,您可以允许某个范围内的 IP 地址。如需了解详情,请参阅此 GAE 常见问题解答条目:静态 IP 地址和 App Engine 应用

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

不可以。每个代理只能部署一个托管目标应用。部署的应用位于代理的 resources/hosted 目录中。

是否可以绕过缺少 apigee-access 的问题?

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

  • 使用 Edge 政策 - 尽可能使用标准 Edge 政策来替换现有 apigee-access 代码的功能。
  • 使用标头 - 您可以将 KVM 值和流变量放入 HTTP 请求标头中,以供 Node.js 应用使用。此策略适用于 API 代理的请求流中可用的 KVM 值或流变量。
  • 使用环境变量 - 您可以设置其值由 KVM 提供的环境变量。用户指南的清单文件部分对此进行了说明。

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

托管目标不支持使用 JKS 作为 TLS 的 PEM 文件替代项,请参阅之前的文档(点击此处)。托管目标平台使用原生 Node.js,因此原生使用 OpenSSL。设置 TLS/SSL 连接时,请参阅 Node.js 文档提供的 TLS (SSL) 文档

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

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

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

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

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

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

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

对于最新版本的 Node.js (11.3.0+) 以及 6.14.0+、8.14.0+ 和 11.3.0+ 等 LTS 版本,您可以在 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 文档中的配额和限制