您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
概览
本主题讨论如何管理和配置 Edge Microgate,包括监控、日志记录和调试。
更改配置
您需要了解的配置文件包括:
- 默认系统配置文件
- 新初始化的 Edge Microgate 实例的默认配置文件
- 用于正在运行的实例的动态配置文件
本部分将讨论这些文件,以及您需要了解的关于更改的注意事项。如需详细了解配置文件设置,请参阅 Edge Microgate 配置参考文档。
默认系统配置文件
安装 Edge Microgate 时,默认系统配置文件会放在这里:
[prefix]/lib/node_modules/edgemicro/config/default.yaml
其中,[prefix]
是 npm
前缀目录。
请参阅 Edge Microgate 的安装位置。
如果您更改系统配置文件,则必须重新初始化、重新配置并重启 Edge Microgate 网关:
- 拨打
edgemicro init
- 拨打
edgemicro configure [params]
- 拨打
edgemicro start [params]
新初始化的 Edge Microgate 实例的默认配置文件
当您运行 edgemicro init
时,系统配置文件(如上所述) default.yaml
会存放在以下目录下:~/.edgemicro
如果您在 /.edgemicro
前后更改配置文件,则必须重新配置并重启 Edge Microgate 网关:
edgemicro stop
edgemicro configure
[params]
edgemicro start
[params]
用于运行实例的动态配置文件
当您运行 edgemicro configure [params]
时,系统会在 ~/.edgemicro
中创建一个动态配置文件。该文件按以下格式命名:[org]-[env]-config.yaml
,其中 org
和 env
是您的 Apigee Edge 组织和环境名称。您可以使用此文件进行配置更改,然后在零停机的情况下重新加载它们。例如,如果您添加并配置了一个插件,则可以重新加载配置,而无需停机(如下所述)。
如果 Edge Microgate 正在运行(零停机选项):
- 重新加载 Edge Microgate 配置:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
其中:
org
是您的 Edge 组织名称(您必须是组织管理员)。env
是贵组织中的环境(例如测试环境或生产环境)。key
是 configure 命令之前返回的键。secret
是 configure 命令之前返回的键。
示例
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
如果 Edge Microgate 停止:
- 重启 Edge Microgate:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
其中:
org
是您的 Edge 组织名称(您必须是组织管理员)。env
是贵组织中的环境(例如测试环境或生产环境)。key
是 configure 命令之前返回的键。secret
是 configure 命令之前返回的键。
示例
edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
下面是一个示例配置文件。如需详细了解配置文件设置,请参阅 Edge Microgate 配置参考文档。
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 Microgate 所需的密钥和密钥的命令行界面命令可以存储在以下环境变量中:
EDGEMICRO_ORG
EDGEMICRO_ENV
EDGEMICRO_KEY
EDGEMICRO_SECRET
设置这些变量是可选操作。设置好这些参数后,在使用命令行界面 (CLI) 配置和启动 Edge Microgate 时,您不必指定它们的值。
在 Edge Microgate 服务器上配置 SSL
您可以将 Microgate 服务器配置为使用 SSL。例如,配置 SSL 后,您可以通过使用“https”协议的 Edge Microgate 调用 API,如下所示:
https://localhost:8000/myapi
如需在 Microgate 服务器上配置 SSL,请按以下步骤操作:
- 使用 openssl 实用程序或您偏好的任何方法生成或获取 SSL 证书和密钥。
- 将
edgemicro:ssl
属性添加到 Edge Microgate 配置文件中。有关选项的完整列表,请参阅下表。如需详细了解如何修改 Edge Microgate 配置,请参阅更改配置。例如:
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
- 重启 Edge Microgate。根据您修改的是默认文件或运行时配置文件,按照更改配置中列出的步骤操作。
以下是配置文件的 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 Microgate 配置为 TLS 或 SSL 客户端。在 Microgate 配置文件中,使用目标元素设置 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 Microgate 使用部署在 Apigee Edge 上的代理进行 OAuth2 身份验证。此代理会在您首次运行 edgemicro configure
时部署。默认情况下,此代理的网址在 Edge Microgate 配置文件中指定,如下所示:
authUri: https://myorg-myenv.apigee.net/edgemicro-auth
如果要使用自己的自定义服务处理身份验证,请将配置文件中的 authUri
值更改为指向您的服务。例如,您可能有一项服务使用 LDAP 验证身份。
管理日志文件
Edge Microgate 会记录每个请求和响应的相关信息。日志文件为调试和问题排查提供了有用的信息。
日志文件的存储位置
默认情况下,日志文件存储在 /var/tmp
中。
如何更改默认的日志文件目录
日志文件的存储目录在 Edge Microgate 配置文件中指定。如需详细了解如何更改配置,请参阅更改配置。
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
选择此设置后,日志将发送至标准输出。目前,您无法将日志同时发送到 stdout 和日志文件。
如何设置日志记录级别
您可以设置以下日志级别:info、warn 和 error。建议设置信息等级。它会记录所有 API 请求和响应,并且是默认设置。
如何更改日志间隔
您可以在 Edge Microgate 配置文件中配置这些时间间隔。如需详细了解如何进行配置更改,请参阅更改配置。
可配置的属性包括:
- 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 Microgate 实例都会生成三种类型的日志文件:
- api - 记录流经 Edge Microgate 的所有请求和响应。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 网络令牌 (JWT) 的 JSON。如果要将这些对象输出到日志文件中,请在启动 Edge Microgate 时设置 DEBUG=*
。例如:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
“api”日志文件的内容
“api”日志文件包含有关通过 Edge Microgate 的请求和响应流的详细信息。“api”日志文件的名称如下所示:
edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log
对于向 Edge Microgate 发出的每个请求,“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 - 取决于具体情况。可能是 info、warn 或 error,具体取决于日志级别。可以是统计信息记录的统计信息、有关警告的警告或错误的错误。
- req - 标识事件。在这种情况下,这是来自客户端的请求。
- m - 请求中使用的 HTTP 动词。
- u - 网址中基本路径后面的部分。
- h - Edge Microgate 监听的主机和端口号。
- r - 发起客户端请求的远程主机和端口。
- i - 请求 ID。所有 4 个事件条目共用此 ID。每个请求都分配有一个唯一的请求 ID。按请求 ID 关联日志记录可让您深入了解目标的延迟时间。
- d - 自 Edge Microgate 收到请求以来的时长(以毫秒为单位)。在上面的示例中,目标在 7 毫秒后收到请求 0 的响应(第 3 行),并在额外的 4 毫秒后将响应发送到客户端(第 4 行)。换句话说,请求总延迟时间为 11 毫秒,其中目标为 7 毫秒,Edge Microgate 本身占用了 4 毫秒。
2. 向目标发出的传出请求的示例:
1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
- 1436403888651 - Unix 日期戳
- info - 取决于具体情况。可能是 info、warn 或 error,具体取决于日志级别。可以是统计信息记录的统计信息、有关警告的警告或错误的错误。
- treq - 标识事件。在本例中,即目标请求。
- m - 目标请求中使用的 HTTP 动词。
- u - 网址中基本路径后面的部分。
- h - 后端目标的主机和端口号。
- i - 日志条目的 ID。所有四个事件条目将共用此 ID。
3. 来自目标的传入响应示例
1436403888672 info tres s=200, d=7, i=0
1436403888651 - Unix 日期戳
- info - 取决于具体情况。可能是 info、warn 或 error,具体取决于日志级别。可以是统计信息记录的统计信息、有关警告的警告或错误的错误。
- tres - 用于标识事件。在此示例中,目标响应为。
- s - HTTP 响应状态。
- d - 时长(以毫秒为单位)。目标调用 API 所花费的时间。
- i - 日志条目的 ID。所有四个事件条目将共用此 ID。
4. 对客户端的传出响应示例
1436403888676 info res s=200, d=11, i=0
1436403888651 - Unix 日期戳
- info - 取决于具体情况。可能是 info、warn 或 error,具体取决于日志级别。可以是统计信息记录的统计信息、有关警告的警告或错误的错误。
- res - 用于标识事件。在这种情况下,是对客户端的响应。
- s - HTTP 响应状态。
- d - 时长(以毫秒为单位)。这是 API 调用所用的总时间,包括目标 API 所用的时间以及 Edge Microgate 本身所用的时间。
- i - 日志条目的 ID。所有四个事件条目将共用此 ID。
日志文件时间表
日志文件会按 rotate_interval 配置属性指定的间隔轮替。系统会继续向同一日志文件中添加条目,直到轮替间隔到期。但是,每次重启 Edge Microgate 时,它都会收到一个新的 UID,并会使用此 UID 创建一组新的日志文件。另请参阅良好的日志文件维护做法。
Edge Microgate 配置参考文档
配置文件的位置
本部分介绍的配置属性位于 Edge Microgate 配置文件中。如需详细了解如何更改配置,请参阅更改配置。
Edge_config 属性
这些设置用于配置 Edge Microgate 实例与 Apigee Edge 之间的交互。
- bootstrap:(默认值:无)指向在 Apigee Edge 上运行的 Edge Microgate 专用服务的网址。Edge Microgate 使用此服务与 Apigee Edge 通信。当您执行生成公钥/私钥对的命令时,系统会返回此网址:
edgemicro genkeys
。如需了解详情,请参阅设置和配置 Edge Microgate。 - jwt_public_key:(默认值:none)指向 Apigee Edge 上部署的 Edge Microgate 代理的网址。此代理充当向客户端颁发已签名的访问令牌的身份验证端点。当您执行命令来部署代理时,系统会返回此网址:edgemicro configure。如需了解详情,请参阅设置和配置 Edge Microgate。
Edgemicro 属性
这些设置用于配置 Edge Microgate 进程。
- port:(默认值:8000)Edge Microgate 进程监听的端口号。
- max_connections:(默认值:-1)指定 Edge Microgate 可以接收的并发传入连接数上限。如果超出此限值,系统会返回以下状态:
res.statusCode = 429; // Too many requests
- max_connections_hard:(默认值:-1)在关闭连接之前,Edge Microgate 可以接收的并发请求数量上限。此设置旨在防范拒绝服务攻击。通常,应将其设置为大于 max_connections 的数字。
-
logging:
-
level:(默认值:error)
- info - 记录流经 Edge Microgate 实例的所有请求和响应。
- warn - 仅记录警告消息。
- error - 仅记录错误消息。
- dir:(默认值:/var/tmp)存储日志文件的目录。
- stats_log_interval:(默认值:60)将统计信息记录写入 API 日志文件时的间隔时间(以秒为单位)。
- rotate_interval:(默认值:24)轮播日志文件时的间隔时间(以小时为单位)。
-
level:(默认值:error)
- plugins:插件用于向 Edge Microgate 添加功能。如需详细了解如何开发插件,请参阅开发自定义插件。
- dir:从 ./gate 目录到 ./plugins 目录的相对路径,或绝对路径。
- sequence:要添加到 Edge Microgate 实例的插件模块列表。模块将按此处指定的顺序执行。
-
debug :向 Edge Microgate 进程添加远程调试功能。
- port:要监听的端口号。例如,将 IDE 调试程序设置为监听此端口。
- args:调试过程的参数。例如:
args --nolazy
- config_change_poll_interval::(默认值:600 秒)Edge Microgate 会定期加载新配置,并在发生任何更改时执行重新加载。轮询会提取对 Edge 所做的任何更改(对产品、微网关感知代理等所做的更改)以及对本地配置文件所做的更改。
- disable_config_poll_interval::(默认值:false)设置为 disable_config_poll_interval: 可disable_config_poll_interval:自动更改轮询。
标头属性
这些设置用于配置特定 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 Microgate 强制执行客户端身份验证的方式。
- allowNoAuthorization(默认值:false)如果设置为 true,则允许 API 调用在没有任何授权标头的情况下通过 Edge Microgate 标头。将此项设置为 false 可要求使用 Authorization 标头(默认)。
- allowInvalidAuthorization(默认值:false)如果设置为 true,则在 Authorization 标头中传递的令牌无效或过期时允许 API 调用传递。请将此项设置为 false 以要求提供有效令牌(默认)。
- authorization-header:(默认值: Authorization: Bearer)用于将访问令牌发送到 Edge Microgate 的标头。如果目标需要使用 Authorization 标头实现其他目的,您可能希望更改默认设置。
- api-key-header:(默认值:x-api-key)用于将 API 密钥传递给 Edge Microgate 的标头或查询参数的名称。另请参阅使用 API 密钥。
- keepAuthHeader:(默认值:false)如果设置为 true,请求中发送的 Authorization 标头会传递到目标(保留该标头)。
插件专用属性
如需详细了解每个插件的可配置属性,请参阅“使用插件”。
过滤代理
您可以过滤 Edge Microgate 实例将处理哪些微网关感知型代理。Edge Microgate 启动时,它会下载与其关联的组织中所有感知到微网关的代理。使用以下配置来限制微网关将处理哪些代理。例如,此配置将微网关将处理的代理限制为三个:edgemicro_proxy-1
、edgemicro_proxy-2
和 edgemicro_proxy-3
:
proxies: - edgemicro_proxy-1 - edgemicro_proxy-2 - edgemicro_proxy-3
遮盖分析数据
以下配置可防止请求路径信息显示在边缘分析中。将以下内容添加到微网关配置,以遮盖请求 URI 和/或请求路径。请注意,URI 由请求的主机名和路径部分组成。
analytics: mask_request_uri: 'string_to_mask' mask_request_path: 'string_to_mask'
调试和问题排查
连接到调试程序
您可以使用调试程序(例如 node-inspector)运行 Edge Microgate。这对于排查和调试自定义插件非常有用。
- 在调试模式下重启 Edge Microgate。为此,请将
DEBUG=*
添加到 start 命令的开头。例如:
DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
- 启动调试程序,将其设置为监听调试过程的端口号。
- 您现在可以单步调试 Edge Microgate 代码、设置断点、监视表达式等。
您可以指定与调试模式相关的标准 Node.js 标志。例如,--nolazy
有助于调试异步代码。
检查日志文件
如果您遇到问题,请务必检查日志文件,了解执行详情和错误信息。如需了解详情,请参阅管理日志文件。
使用 API 密钥安全性
API 密钥提供了一种简单的机制,用于对向 Edge Microgate 发出请求的客户端进行身份验证。如需获取 API 密钥,您可以从包含 Edge Microgate 身份验证代理的 Apigee Edge 产品中复制使用方密钥(也称为客户端 ID)的值。
缓存键
API 密钥用于交换不记名令牌,而后者会被缓存。如需停用缓存,您可以对 Edge Microgate 的传入请求设置 Cache-Control: no-cache
标头。
如果您使用的是 Apigee Edge Private Cloud 15.07 版,必需的解决方法
如需在 Edge Private Cloud 15.07 上使用 API 密钥安全性,您必须实现此处所述的解决方法。解决方法是更改 edgemicro-auth 代理中 Node.js 文件中的一行,然后重启 Edge Microgate。
在 Edge 界面中实现此解决方法
此过程要求您在完成之后重新运行 edgemicro start 命令。
- 在 Edge 界面中,在代理编辑器中打开 Edgemicro-auth 代理。
- 选择“开发”标签页。
- 在导航器中的“脚本”下,打开名为 verify-api-key.js 的 JavaScript 文件。
- 转到第 109 行:
api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
- 将“api_product_list:”后面的部分替换为与您要使用的任何 API 密钥相关联的产品名称的“硬编码”数组。例如,如果您想使用包含“Product-1”和“Product-2”的开发者应用中的密钥,请按如下方式对该行进行编码:
api_product_list: ["Product-1", "Product-2"]
- 点击“保存”。
- 执行 edgemicro start 命令。
在本地 Edge Microgate 代码库中实现
此过程要求您重新运行 edgemicro 配置命令,然后再运行 edgemicro start。
- 打开文件
<microgateway-root-dir>/edge/auth/api/controllers/verify-api-key.js
,其中<microgateway-root-dir>
是运行npm install
命令时安装 Edge Microgate 的目录。 - 转到第 109 行:
api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
- 将“api_product_list:”后面的部分替换为与您要使用的任何 API 密钥相关联的产品名称的“硬编码”数组。例如,如果您想使用包含“Product-1”和“Product-2”的开发者应用中的密钥,请按如下方式对该行进行编码:
api_product_list: ["Product-1", "Product-2"]
- 保存文件。
- 执行 edgemicro configure 命令。 (如果您使用的是 Edge Private Cloud,请使用 edgemicro 专用配置。)此命令会重新部署 edgemicro-auth 代理。
- 执行 edgemicro start 命令。
使用 OAuth2 令牌安全性
如需详细了解如何将 OAuth 令牌用于代理请求,请参阅 Secure Edge Microgate。
使用 API 密钥
如需详细了解如何将 API 密钥用于代理请求,请参阅 Secure Edge Microgate。
配置 API 密钥名称
默认情况下,x-api-key
是用于 API 密钥标头或查询参数的名称。您可以在配置文件中更改此默认值,如进行配置更改中所述。
例如,将名称更改为 apiKey:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false api-key-header: apiKey