Edge Microgate 操作和配置参考

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

Edge Microgateway v. 2.3.x

概览

本主题介绍如何管理和配置 Edge Microgateway,包括监控、 日志记录和调试

更改配置

您需要了解的配置文件包括:

  • 默认系统配置文件
  • 新初始化的 Edge Microgateway 实例的默认配置文件
  • 用于正在运行的实例的动态配置文件

本节讨论这些文件以及关于更改它们需要了解的信息。了解详情 有关配置文件设置的信息,请参阅 Edge Microgateway 配置 参考

默认系统配置 文件

安装 Edge Microgateway 时,默认系统配置文件位于此处:

[prefix]/lib/node_modules/edgemicro/config/default.yaml

其中 [prefix]npm 前缀目录。 了解在哪里 是否安装了 Edge Microgateway

如果您更改系统配置文件,则必须重新初始化、重新配置并重启 Edge Microgateway:

  1. 拨打 edgemicro init
  2. 拨打 edgemicro configure [params]
  3. 拨打 edgemicro start [params]

新初始化的 Edge Microgateway 实例的默认配置文件

当您运行 edgemicro init 时,系统配置文件 (如上文所述) default.yaml 位于以下目录中: ~/.edgemicro

如果您在 ~/.edgemicro 中更改配置文件,则必须重新配置并重启 Edge Microgateway:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

动态 用于运行实例的

当您运行 edgemicro configure [params] 时, 配置文件在 ~/.edgemicro 中创建。该文件的命名依据如下 格式:[org]-[env]-config.yaml, 其中 orgenv 是您的 Apigee Edge 组织 和环境名称您可以使用此文件更改配置,然后重新加载 并且无需停机例如,如果您添加并配置插件,则可以重新加载 配置时,不会造成任何停机,具体如下所述。

如果 Edge Microgateway 正在运行(零停机选项)

  1. 重新加载 Edge Microgateway 配置:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    其中:

    • org 是您的 Edge 组织名称(您必须是 组织管理员)。
    • env 是贵组织中的一种环境(例如测试或 prod)。
    • key 是配置之前返回的键 命令。
    • secret 是 configure 命令中

    示例

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

如果 Edge Microgateway 已停止

  1. 重启 Edge Microgateway:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    其中:

    • org 是您的 Edge 组织名称(您必须是 组织管理员)。
    • env 是贵组织中的一种环境(例如测试或 prod)。
    • key 是配置之前返回的键 命令。
    • secret 是 configure 命令中

    示例

    edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

下面是一个配置文件示例。如需详细了解配置文件设置 请参阅 Edge Microgateway 配置参考

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

设置环境变量

需要 Edge 组织和 启动 Edge Microgateway 所需的密钥和密钥可以存储在 环境变量:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

设置这些变量是可选的。如果设置了这些参数,则无需指定它们的值 当您使用命令行界面 (CLI) 配置和启动 Edge Microgateway 时。

在 Edge Microgateway 上配置 SSL 服务器

您可以将 Microgateway 服务器配置为使用 SSL。例如,配置 SSL 后 可以使用“https”通过 Edge Microgateway 调用 API协议,如下所示:

https://localhost:8000/myapi

如需在 Microgateway 服务器上配置 SSL,请按以下步骤操作:

  1. 使用 openssl 实用程序或您喜欢的任何方法生成或获取 SSL 证书和密钥。
  2. edgemicro:ssl 属性添加到 Edge Microgateway 配置文件如需查看完整的选项列表,请参阅下表。如需详细了解 修改 Edge Microgateway 配置,请参阅更改配置。例如:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
  3. 重启 Edge Microgateway。按照更改配置中列出的步骤操作,具体取决于 是默认文件或运行时配置文件。

以下是配置文件的 Edgemicro 部分的示例,其中配置了 SSL:

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

以下是所有支持的服务器选项的列表:

选项 说明
key ca.key 文件的路径(PEM 格式)。
cert ca.cert 文件的路径(PEM 格式)。
pfx pfx 文件的路径,该文件包含私钥、证书和 采用 PFX 格式的客户端 CA 证书。
passphrase 包含私钥或 PFX 密码的字符串。
ca 指向包含 PEM 格式的可信证书列表的文件的路径。
ciphers 用于描述要使用的密码的字符串,以“:”分隔。
rejectUnauthorized 如果为 true,则根据提供的 CA 列表验证服务器证书。如果 则会返回错误。
secureProtocol 要使用的 SSL 方法。例如,使用 SSLv3_method 将 SSL 强制使用版本 3。
servername SNI(服务器名称指示)TLS 扩展的服务器名称。

使用客户端 SSL/TLS 选项

您可以将 Edge Microgateway 在连接到目标时配置为 TLS 或 SSL 客户端 端点。在 Microgateway 配置文件中,使用 targets 元素设置 SSL/TLS 选项。

以下示例提供了将应用于所有主机的设置:

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

在此示例中,这些设置仅应用于指定的主机:

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

以下是 TLS 的示例:

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

下面列出了所有支持的客户端选项:

选项 说明
pfx pfx 文件的路径,该文件包含私钥、证书和 采用 PFX 格式的客户端 CA 证书。
key ca.key 文件的路径(PEM 格式)。
passphrase 包含私钥或 PFX 密码的字符串。
cert ca.cert 文件的路径(PEM 格式)。
ca 指向包含 PEM 格式的可信证书列表的文件的路径。
ciphers 用于描述要使用的密码的字符串,以“:”分隔。
rejectUnauthorized 如果为 true,则根据提供的 CA 列表验证服务器证书。如果 则会返回错误。
secureProtocol 要使用的 SSL 方法。例如,使用 SSLv3_method 将 SSL 强制使用版本 3。
servername SNI(服务器名称指示)TLS 扩展的服务器名称。

使用自定义身份验证服务

默认情况下,Edge Microgateway 使用 Apigee Edge 上部署的代理进行 OAuth2 身份验证。 此代理会在您首次运行 edgemicro configure 时部署。默认情况下 Edge Microgateway 配置文件中指定了此代理的网址,如下所示:

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

如果您希望使用自己的自定义服务来处理身份验证,请将 配置文件中的 authUri 值,以指向您的服务。对于 例如,您可能有使用 LDAP 来验证身份的服务。

<ph type="x-smartling-placeholder">

管理 日志文件

Edge Microgateway 会记录每个请求和响应的相关信息。日志文件会提供 调试和问题排查信息。

日志文件的存储位置

默认情况下,日志文件存储在 /var/tmp 中。

如何更改默认日志 文件目录

存储日志文件的目录在 Edge Microgateway 配置中指定 文件。如需详细了解如何更改配置,请参阅更改配置

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

更改 dir 值以指定其他日志文件目录。

将日志发送到控制台

您可以配置日志记录,以便将日志信息发送到标准输出,而不是 日志文件。将 to_console 标志设置为 true,如下所示:

edgemicro:
  logging:
    to_console: true  

如果使用此设置,日志将发送至“标准输出”。目前,您不能同时向两者发送日志 标准输出和日志文件。

如何设置日志记录级别

您可以设置以下日志级别:infowarn、 和错误。建议使用信息级别。它会记录所有 API 请求和 这是默认值。

如何更改日志时间间隔

您可以在 Edge Microgateway 配置文件中配置这些时间间隔。如需详细了解如何让 请参阅在 Chrome 中配置 更改

可配置的属性包括:

  • stats_log_interval:(默认值:60)显示统计数据时的时间间隔(以秒为单位) 将写入 API 日志文件。
  • rotate_interval:(默认值:24)日志文件的间隔时间(以小时为单位) 旋转。例如:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

注意 :系统不会压缩已归档的日志文件。间隔开始时, 系统会使用新的时间戳创建新日志文件。

良好 日志文件维护做法

随着日志文件数据随时间的积累,Apigee 建议您采用以下做法 做法:

  • 由于日志文件会变得非常大,因此请确保日志文件目录 空间充足。请参阅下面的日志文件的存储位置如何更改默认日志文件 目录
  • 每周至少删除一次日志文件,或将日志文件移至单独的存档目录。
  • 如果您的政策是删除日志,则可以使用 CLI 命令 edgemicro log -c 移除(清理)较旧的日志。

日志文件命名惯例

每个 Edge Microgateway 实例会生成三种类型的日志文件:

  • api - 记录流经 Edge 的所有请求和响应 Microgateway。API 计数器(统计数据)和错误也会记录到该文件中。
  • err - 记录发送到 stderr 的任何内容。
  • out - 记录发送到 stdout 的所有内容。

以下是命名惯例:

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

例如:

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

关于日志文件内容

添加此模块的版本:v2.3.3

默认情况下,日志记录服务会忽略下载的代理、产品的 JSON 和 JSON 网络令牌 (JWT)。如果要将这些对象输出到日志文件,请将 DEBUG=*。例如:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

“API”的内容日志文件

“API”日志文件包含有关请求和响应流的详细信息 通过 Edge Microgateway 访问 Wi-Fi。“API”日志文件的名称如下所示:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

对于发送到 Edge Microgateway 的每个请求,“api”中会捕获四个事件日志 文件:

  • 来自客户端的传入请求
  • 向目标发出的传出请求
  • 来自目标的响应
  • 对客户端的传出响应

这些单独的条目均以简写表示法表示 让文件更加紧凑以下是四个示例条目,分别代表这四个事件。在日志中 它们将如下所示(行号仅供在文档中参考,不会出现 记录)。

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

下面我们将逐一介绍:

1. 来自客户端的传入请求示例:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - Unix 日期戳
  • info - 取决于上下文。可以是信息、警告或错误 具体取决于日志级别可以是统计数据记录的统计信息、出现警告时显示警告, 出错。
  • req - 标识事件。在这种情况下,请从 客户端。
  • m - 请求中使用的 HTTP 动词。
  • u - 网址中基本路径之后的部分。
  • h - Edge Microgateway 所在的主机和端口号 。
  • r - 客户端请求所在的远程主机和端口 来源。
  • i - 请求 ID。所有四个事件条目都将共用此 ID。每个 系统会为请求分配一个唯一的请求 ID按请求 ID 关联日志记录可以 可让您了解目标延迟时间的宝贵数据洞见
  • d - 自从 SDK 收到请求后的持续时间(以毫秒为单位) Edge Microgateway。在上面的示例中,收到了目标对请求 0 的响应 7 毫秒之后(第 3 行),并且在额外 4 次请求后, 毫秒(第 4 行)。换句话说,总请求延迟时间为 11 毫秒, 目标占用了 7 毫秒,Edge Microgateway 占用了 4 毫秒 本身。

2. 向目标发出的传出请求的示例:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - Unix 日期戳
  • info - 取决于上下文。可以是信息、警告或错误 具体取决于日志级别可以是统计数据记录的统计信息、出现警告时显示警告, 出错。
  • treq - 标识事件。在本示例中,目标请求。
  • m - 目标请求中使用的 HTTP 动词。
  • u - 网址中基本路径之后的部分。
  • h - 后端目标的主机和端口号。
  • i - 日志条目的 ID。这四个活动条目将会共享 ID。

3. 来自目标的传入响应示例

1436403888672 info tres s=200, d=7, i=0

1436403888651 - Unix 日期戳

  • info - 取决于上下文。可以是信息、警告或错误 具体取决于日志级别可以是统计数据记录的统计信息、出现警告时显示警告, 出错。
  • tres - 标识事件。在本示例中,目标回复。
  • s - HTTP 响应状态。
  • d - 时长(以毫秒为单位)。调用 API 所用的时间 目标。
  • i - 日志条目的 ID。这四个活动条目将会共享 ID。

4. 发送至客户端的传出响应示例

1436403888676 info res s=200, d=11, i=0

1436403888651 - Unix 日期戳

  • info - 取决于上下文。可以是信息、警告或错误 具体取决于日志级别可以是统计数据记录的统计信息、出现警告时显示警告, 出错。
  • res - 标识事件。在这种情况下,对 客户端。
  • s - HTTP 响应状态。
  • d - 时长(以毫秒为单位)。这是总时间 由 API 调用触发,包括目标 API 花费的时间和 Edge 花费的时间 Microgateway 本身。
  • i - 日志条目的 ID。这四个活动条目将会共享 ID。

日志文件时间安排

日志文件按 rotate_interval 配置 属性。条目将继续添加到同一日志文件中,直到轮替间隔时间 过期。不过,每次重启 Edge Microgateway 时,它都会接收新的 UID 并创建 包含此 UID 的新日志文件。另请参阅良好的日志文件维护做法

Edge Microgateway 配置 参考信息

的 配置文件

本部分介绍的配置属性位于 Edge Microgateway 配置文件如需详细了解如何更改配置,请参阅更改配置

Edge_config 属性

这些设置用于配置 Edge Microgateway 实例和 Apigee Edge。

  • bootstrap:(默认值:无)指向 Edge 的网址 在 Apigee Edge 上运行的 Microgateway 专用服务。Edge Microgateway 使用此服务 与 Apigee Edge 进行通信当您执行相应命令以生成 公钥/私钥对:edgemicro genkeys。请参阅设置 设置和配置 Edge Microgateway
  • jwt_public_key:(默认值:无)指向 Edge Microgateway 的网址 部署在 Apigee Edge 上的代理此代理可用作以下账号的身份验证端点: 向客户端颁发已签名的访问令牌。当您执行命令以 部署代理:edgemicro configure。请参阅设置 设置和配置 Edge Microgateway

Edgemicro 属性

这些设置会配置 Edge Microgateway 进程。

  • port:(默认值:8000)Edge Microgateway 所在的端口号 进程监听
  • max_connections:(默认值:-1)指定 Edge Microgateway 可以接收的并发传入连接数。如果此数字为 系统将返回以下状态:

    res.statusCode = 429; // Too many requests
  • max_connections_hard:(默认值:-1)并发的最大数量 在关闭连接之前 Edge Microgateway 可以接收的请求。此设置 旨在阻止拒绝服务攻击。通常,将其设置为大于 max_connections.
  • logging: <ph type="x-smartling-placeholder">
      </ph>
    • level:(默认值:error) <ph type="x-smartling-placeholder">
        </ph>
      • info - 记录流经 Edge Microgateway 实例。
      • warn - 仅记录警告消息。
      • error - 仅记录错误消息。
    • dir:(默认值:/var/tmp)日志文件所在的目录 存储的数据。
    • stats_log_interval:(默认值:60)显示统计数据时的时间间隔(以秒为单位) 将写入 API 日志文件
    • rotate_interval:(默认值:24)日志文件的间隔时间(以小时为单位) 旋转。
  • 插件:插件用于向 Edge Microgateway 添加功能。了解详情 有关开发插件的信息,请参阅开发自定义 插件
  • dir:从 ./gateway 目录到 ./plugins 目录或绝对路径。
  • sequence:要添加到 Edge Microgateway 的插件模块列表 实例。模块将按此处指定的顺序执行。
  • debug :在 Edge Microgateway 进程中添加远程调试。
    • port:要监听的端口号。例如,设置 IDE 调试程序 在此端口上进行监听。
    • args:调试进程的参数。例如:args --nolazy
  • config_change_poll_interval:(默认值:600 秒)Edge Microgateway 定期加载新配置,并在发生更改时执行重新加载。轮询 提取在 Edge 上所做的任何更改(产品更改、可感知微网关的代理等), 以及对本地配置文件所做的更改
  • disable_config_poll_interval:(默认值:false)设置 设为 true 即可关闭自动更改功能 轮询。

标头属性

这些设置用于配置某些 HTTP 标头的处理方式。

  • x-forwarded-for:(默认值:true)设置为 false 可防止 x-forwarded-for 要传递给目标的标头。
  • x-forwarded-host:(默认值:true)设置为 false 可防止 要传递给目标的 x-forwarded-host 标头。
  • x-request-id:(默认值:true)设置为 false 可防止 要传递给目标的 x-request-id 标头。
  • x-response-time:(默认值:true)设置为 false 以防止 要传递给目标的 x-response-time 标头。
  • via:(默认值:true)设置为 false 可阻止通过标头 传递给目标。

OAuth 属性

这些设置用于配置 Edge Microgateway 如何强制执行客户端身份验证。

  • allowNoAuthorization:(默认值:false)如果设置为 true,则会执行 API 调用 允许在没有任何授权标头的情况下通过 Edge Microgateway。将此项设为 false 表示需要使用授权标头(默认)。
  • allowInvalidAuthorization:(默认值:false)如果设置为 true,则会执行 API 调用 在 Authorization 标头中传递的令牌无效或过期时允许传递。设置此项 设置为 false 则要求有效令牌(默认)。
  • authorization-header:(默认值: Authorization: Bearer)用于 将访问令牌发送到 Edge Microgateway。如果遇到这种情况,您可能需要更改 目标需要使用 Authorization 标头来实现其他目的。
  • api-key-header:(默认值:x-api-key)标头或查询的名称 参数,用于将 API 密钥传递给 Edge Microgateway。另请参阅使用 API 密钥
  • keepAuthHeader:(默认值:false)如果设为 true,则授权标头 会传递到目标(会得到保留)。

插件专用 属性

要详细了解每个插件的可配置属性,请参阅“使用插件”。

过滤代理

您可以过滤 Edge Microgateway 实例将处理哪些 microgateway 感知代理。 Edge Microgateway 启动时,会下载 组织。使用以下配置来限制 microgateway 将对其进行处理。例如,此配置限制了 microgateway 将处理为三个:edgemicro_proxy-1edgemicro_proxy-2、 和 edgemicro_proxy-3

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

遮盖分析数据

以下配置可防止请求路径信息显示在 Edge 中 分析。将以下内容添加到 microgateway 配置,以遮盖请求 URI 和/或 请求路径。请注意,URI 包含请求的主机名和路径部分。

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

调试和 故障排除

连接到调试程序

您可以使用调试程序(例如 node-inspector)运行 Edge Microgateway。这对于 自定义插件的问题排查和调试。

  1. 在调试模式下重启 Edge Microgateway。为此,请将 DEBUG=* 添加到 启动命令的开头。例如:

    DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
  2. 启动调试程序,并将其设置为监听调试过程的端口号。
  3. 现在,您可以逐步执行 Edge Microgateway 代码、设置断点、监视表达式, 依此类推。

您可以指定与调试模式相关的标准 Node.js 标志。例如: --nolazy 有助于调试异步代码。

检查日志文件

如果您遇到问题,请务必检查日志文件以获取执行详情和错误 信息。有关详情,请参阅管理日志文件

使用 API 密钥安全性

API 密钥提供了一种简单的机制,用于对向 Edge 发出请求的客户端进行身份验证 Microgateway。您可以通过复制使用方密钥(也称为“客户端 ID”)值来获取 API 密钥 。

缓存键

API 密钥交换为已缓存的不记名令牌。您可以通过将 发送到 Edge 的传入请求中的 Cache-Control: no-cache 标头 Microgateway。

如果您使用的是 Apigee,则必须采用临时解决方法 Edge Private Cloud 版本 15.07

如需在 Edge Private Cloud 15.07 上使用 API 密钥安全性,您必须实施此权宜解决方法 此处所述。此解决方法要求您将 Node.js 文件中的一行内容更改为 edgemicro-auth 代理并重启 Edge Microgateway。

在 Edge 界面中实现此解决方法

此过程要求您重新运行 edgemicro start 命令 。

  1. 在 Edge 界面中,在代理编辑器中打开 Edgemicro-auth 代理。
  2. 选择“开发”标签页。
  3. 在导航器中的“脚本”下,打开 JavaScript 文件 称为 verify-api-key.js
  4. 转到第 109 行:

    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  5. 替换“api_product_list:”后面的部分“硬编码”商品的数组 与您要使用的任何 API 密钥相关联的名称。例如,如果您希望 使用来自具有“Product-1”的开发者应用的密钥和“Product-2”然后对 如下所示:

    api_product_list: ["Product-1", "Product-2"]
  6. 点击“保存”。
  7. 执行 edgemicro start 命令。

在本地 Edge Microgateway 代码库中实现

此过程需要您重新运行 edgemicro 配置命令, 后跟 edgemicro start

  1. 打开 文件 <microgateway-root-dir>/edge/auth/api/controllers/verify-api-key.js, 其中 <microgateway-root-dir> 是 Edge 所在的目录 运行 npm install 命令时已安装 Microgateway。
  2. 转到第 109 行:

    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  3. 替换“api_product_list:”后面的部分“硬编码”商品的数组 与您要使用的任何 API 密钥相关联的名称。例如,如果您希望 使用来自具有“Product-1”的开发者应用的密钥和“Product-2”然后对 如下所示:

    api_product_list: ["Product-1", "Product-2"]
  4. 保存文件。
  5. 执行 edgemicro configure 命令。 (或者,如果您使用的是 Edge 私有云,则请使用 edgemicro private configure。) 此命令会重新部署 Edgemicro-auth 代理。
  6. 执行 edgemicro start 命令。

使用 OAuth2 令牌安全性

如需详细了解如何在代理请求中使用 OAuth 令牌,请参阅保护 Edge Microgateway

使用 API 密钥

如需详细了解如何将 API 密钥用于代理请求,请参阅保护 Edge Microgateway

<ph type="x-smartling-placeholder">

配置 API 密钥名称

默认情况下,x-api-key 是用于 API 密钥标头或查询的名称 参数。如更改配置中所述,您可以在配置文件中更改此默认设置。 例如,将名称更改为 apiKey

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey