<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
概览
借助 Edge Microgateway CLI,您可以控制和管理 Edge Microgateway 实例的所有方面。
管理证书
借助 cert 命令,您可以安装和管理公钥/私钥对,该对用于对客户端使用的不记名令牌进行签名,以便通过 Edge Microgateway 进行安全调用。密钥存储在 Apigee Edge 的安全保险柜中。Edge Microgateway 使用公钥验证已签名的不记名令牌。如设置和配置 Edge Microgateway 中所述,运行 Edgemicro 配置命令时生成这些密钥。如果需要,您可以使用本文所述的 cert 命令重新生成和管理这些密钥。
安装证书
使用 Apigee Edge 安全存储服务在保险柜中安装密钥,并返回公钥作为输出。密钥对的范围限定为指定的组织。
用法
edgemicro cert install -o [organization] -e [environment] -u [username] -p [password] --force
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-u, --username |
您的 Apigee 用户名。您必须是指定组织的组织管理员。 |
-p, --password |
(可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。 |
-f, --force |
(可选)如果某个密钥已存储在保险柜中,请强制替换该密钥。 |
-h, --help |
输出使用情况信息。 |
示例
edgemicro cert install -o docs -e test -u jdoe@example.com -f
输出
current nodejs version is v6.1.0 current edgemicro version is 2.2.4-beta password: deleting vault creating vault adding private_key adding public_key installed cert
删除证书
删除组织的密钥对。
用法
edgemicro cert delete -o [organization] -e [environment] -u [username] -p [password]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-u, --username |
您的 Apigee 用户名。您必须是指定组织的组织管理员。 |
-p, --password |
(可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。 |
-h, --help |
输出使用情况信息。 |
示例
edgemicro cert delete -o docs -e test -u jdoe@example.com
输出
deleting vault Vault deleted!
检查证书
检查贵组织是否已安装证书。
用法
edgemicro cert check -o [organization] -e [environment] -u [username] -p [password]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-u, --username |
您的 Apigee 用户名。您必须是指定组织的组织管理员。 |
-p, --password |
(可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。 |
-h, --help |
输出使用情况信息。 |
示例
edgemicro cert check -o docs -e test -u jdoe@example.com
输出 (成功)
checked cert successfully
输出 (失败)
如果证书不存在,则会返回错误。
获取公钥
返回指定组织的公钥。不需要身份验证。
用法
edgemicro cert public-key -o [organization] -e [environment]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-h, --help |
输出使用情况信息。 |
示例
edgemicro cert public-key -o docs -e test
输出(示例)
-----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCKpXWGum9uTjANBgkq9w0BAQsFADAUMRIwEAYDVQQDEwls b2NhbGhvc3cNMTYxMTAyMjAxNTA2WhcNMTYxMTAzMjAxNTA2WjAUMRIwEAYD VQQDEwlsb2Nvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDD ETr/ne/gP47+9LgjLvBJjpbFVdaeUabZZ3wbA7sSIVnnNXWt3yPklrWSfIh+ L2+dq4k+YunsQE2+dwPdXA2x8DPGvqGcCdWPxnpZ7ix5Akbs8i/J+Ue0pXT4 jkpWbaDDftGL2tcxwP45yI+slpDYvmWRps07TFXkAPjGEHYPvCT9/v/35GkL 0h4v0S+XfpcjS5c47o7CIWlkgEM5GBosQUb17kuVR48392vGFPsnCP34iNe7 zguhiCXYg2zkOcj/N3AE4xKIhCz0QcewULy08GltWMmyjJ/30zs8P41JqoA4 RwfeEZ8RenN3rJQim1ppAAEwDQYJKoZIhvcNAQELBQADggEBAHcORIfc+ySe 2FMmqicNe6Wt5V/5zOaBMLsGQdqGOHB5cQc79sMBrk680KVhrwHXZ2nBIkVe UEL+2qLY1VLfswBNAvcNwV9U4TwHq4eIANiD751oJK1tHmM/ujThQkwNf96o 6I7Ws+wfpGO3ppJCttRbtnATIxrwsCHN4i5lbW/tJSL7t/Zf6T1B+YSJU9AF xuvLq22cCqyYJQdmKq2vVS55WRZdllm+mRtJrv7MLM9gfDPRxVlwrBz/eQHy Fv+dwzxcvQjkz03RNhZUodzuD34DPJoYeK++rItsddwQ26KTahH80yYTAFzY x9gfPf1/+qo=? -----END CERTIFICATE-----
为 Apigee Edge Cloud 配置 Edge Microgateway
使 Edge Microgateway 能够与 Apigee Edge Cloud 实例搭配使用。它会封装并执行一系列命令,以将所需的身份验证代理部署到 Edge、生成身份验证令牌和更新配置文件。如需查看完整的有效示例,请参阅设置和配置 Edge Microgateway。
用法
edgemicro configure -o [organization] -e [environment] -u [username] -p [password]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-u, --username |
您的 Apigee 用户名。您必须是指定组织的组织管理员。 |
-p, --password |
(可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。 |
-r, --url |
(可选)为“organization:environment”指定虚拟主机别名。如需了解虚拟主机,请参阅 Edge 文档。默认:org-env.apigee.net |
-v, --virtualHosts |
(可选)替换默认虚拟主机(即“default,secure”)。如果您为 Edge 组织:环境指定了除这些默认值以外的虚拟主机,请使用此选项。如需了解虚拟主机,请参阅 Edge 文档。 |
-d, --debug |
(可选)提供调试信息。 |
-h, --help |
输出使用情况信息。 |
使用说明
此命令将配置信息存储在 ~/.edgemicro/org-env-config.yaml 中。
示例
edgemicro configure -o docs -e test -u jdoe@example.com
输出
成功后,该命令将返回您在启动 Edge Microgateway 时使用的一组密钥。
... The following credentials are required to start edge micro key: d2f0a246ad52b5d2a8b04ba65b43c76348aba586691cf6185cd7bb9fb78fe9f secret: 59813bc1db4a7ada182705ae40893c28a6fae680c3deb42aefbf1a4db42e372 edgemicro configuration complete!
生成键
genkeys 命令会生成一个密钥和密钥对,Edge Microgateway 用于在将分析数据异步发布到 Apigee Edge 时对自身进行身份验证。
用法
edgemicro genkeys -o [organization] -e [environment] -u [username] -p [password]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-u, --username |
您的 Apigee 用户名。您必须是指定组织的组织管理员。 |
-p, --password |
(可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。 |
-h, --help |
输出使用情况信息。 |
使用说明
成功后,该命令会返回三项内容。第一个元素是您需要放入配置文件中的网址。另外两个是启动 Edge Microgateway 实例时所需的密钥对。
- 引导加载程序网址:此网址指向 Apigee Edge 服务,该服务使 Edge Microgateway 实例能够将分析数据发送到 Apigee Edge。您需要将该网址复制到 Edge Microgateway 配置文件:~
/.edgemicro/org-env-config.yaml。 - key:密钥。此密钥和 Secret 必须作为 CLI 命令的输入,用于启动 Edge Microgateway 实例。
- secret:密钥。
示例
edgemicro genkeys -o docs -e test -u jdoe@example.com
输出(示例)
成功后,该命令将返回您在启动 Edge Microgateway 时使用的一组密钥。
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1 Please copy the following property to the edge micro agent config bootstrap: https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/jdoe/environment/test The following credentials are required to start edge micro key: db39324077989c75eac34c13d285772ea8e3b982b957b3f52916f3048511443f secret: 5bf8da39de0056f88fdd5f25a8602d22f312c1c8c870580a5fef55ac6637b7ae finished
为 Apigee Edge 私有云配置 Edge Microgateway
配置 Edge Microgateway,以便与 Apigee Edge 私有云安装搭配使用。
用法
edgemicro private configure -o [organization] -e [environment] -u [username] -p [password]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-u, --username |
您的 Apigee 用户名。您必须是指定组织的组织管理员。 |
-p, --password |
(可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。 |
-r, --runtime-url |
指定私有云实例的运行时网址。 |
-m, --mgmt-url |
私有云实例的管理服务器的网址。 |
-v, --virtualHosts |
“organization:environment”的虚拟主机列表(以英文逗号分隔)。默认语言为“default,secure”。 |
-d, --debug |
(可选)提供调试信息。 |
-h, --help |
输出使用情况信息。 |
使用说明
此命令将配置信息存储在 ~/.edgemicro/org-env-config.yaml 中。
示例
edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.55.100:9002 -m http://192.162.55.100:8080
输出
成功后,该命令将返回您在启动 Edge Microgateway 时使用的一组密钥。
... The following credentials are required to start edge micro key: d2f0a246ad52b5d2a8b04ba65b43c76348aba586691cf6185cd7bb9fb78fe9f secret: 59813bc1db4a7ada182705ae40893c28a6fae680c3deb42aefbf1a4db42e372 edgemicro configuration complete!
启动 Edge Microgateway
在启动 Edge Microgateway 之前,您必须先运行 edgemicro configure(公有云)或 edgemicro private configure(私有云)。configure 命令返回启动 Edge Microgateway 所需的键和 Secret 值。
用法
edgemicro start -o [organization] -e [environment] -k [public-key] -s [secret-key]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-k, --key |
运行“edgemicro configure”时返回的键值对命令。 |
-s, --secret |
运行“edgemicro configure”时返回的 Secret 值命令。 |
-p, --processes |
(可选)要启动的进程数。默认值:系统上的核心数。 |
-d, --pluginDir |
(可选)插件目录的绝对路径。 |
-r, --port |
(可选)覆盖 ~/.edgemicro/org-env-config.yaml 文件中指定的端口号。默认值:8000 |
-c, --cluster |
(可选)以集群模式启动 Edge Microgateway。 注意:从 v2.3.1 开始,此选项已被移除。在 v2.3.1 及更高版本中,Edge Micro 始终以集群模式启动。 |
-c --config |
(可选)指定 default config.yaml 文件的位置。默认情况下,此文件位于 ./config/config.yaml 中。 |
-d, --debug |
(可选)提供调试信息。 |
-h, --help |
输出使用情况信息。 |
设置端口
您可以使用 start 命令指定一个端口号,以覆盖配置文件中指定的端口。您也可以使用 PORT 环境变量指定端口号。例如:
edgemicro start -o docs -e test -k abc123 -s xyz456 -p 2 --port 8002
或
export PORT=8002 edgemicro start -o org -e test -k key -s secret -p 2
如果该端口正在使用中,则 Edge Microgateway 会返回错误。
聚类简介
Edge Microgateway 采用 Node.js 集群模块来启用集群。集群可让 Edge Microgateway 利用多核系统。如需了解详情,请参阅 Node.js 文档。
示例
edgemicro start -o docs -e test -k abc123 -s xyz456
示例输出:
... PROCESS PID : 54709 installed plugin from analytics installed plugin from analytics installed plugin from oauth installed plugin from oauth installed plugin from analytics installed plugin from oauth 5a86b570-a142-11e6-aa1f-6730e9065d6c edge micro listening on port 8000 5a86dc80-a142-11e6-962c-43d9cc723190 edge micro listening on port 8000 5a8751b0-a142-11e6-8241-cf1c517c91eb edge micro listening on port 8000 installed plugin from analytics installed plugin from oauth 5a924e30-a142-11e6-8740-2944162ce275 edge micro listening on port 8000
管理令牌
借助 token 命令,您可以获取、解码并验证已签名的 OAuth2 访问令牌。另请参阅使用 OAuth2 访问令牌保护 API 调用。
解码令牌
将带签名的编码不记名令牌解码为其纯文本 JSON JWT(Java 网络令牌)表示形式。令牌用于传达 Apigee Edge 开发者应用(提供创建令牌所需的密钥)的相关信息,包括应用名称、client_id 和商品列表等。
用法
edgemicro token decode -f [filename]
参数
| 参数 | 说明 |
|---|---|
-f, --file |
包含要解码的 JWT 令牌的文件的名称。 |
-h, --help |
输出使用情况信息。 |
示例
edgemicro token decode -f token.jwt
输出(示例)
{ header: { typ: 'JWT', alg: 'RS256' }, payload: { application_name: 'b43342ef-86f6-4666-a121-b9ac2025d217', client_id: 'O9ZQRZKnn1rdgcKQgsABSMdOsKS', scopes: [], api_product_list: [ 'MicroTest' ], iat: 1436280566, exp: 1436282365 }, signature: '' }
生成令牌
生成已签名的不记名令牌。该令牌允许客户端应用对 Edge Microgateway 进行经过身份验证的 API 调用。该令牌是符合 OAuth 2.0 标准的 JSON 网络令牌 (JWT)。它需要输入 Apigee Edge 上已注册的开发者应用中的使用方密钥(客户端 ID)和使用方密钥(客户端密钥)值。另请参阅使用 OAuth2 访问令牌保护 API 调用。
用法
edgemicro token get -o [org] -e [env] -i [client_id] -s [client_secret]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-1, --key |
来自开发者应用中的客户端 ID,与您的 Microgateway 感知代理相关联。 |
-s, --secret |
开发者应用中的客户端密钥,与您的 Microgateway 感知代理相关联。 |
-h, --help |
输出使用情况信息。 |
示例
edgemicro token get -o docs -e test -i 5UzOwAXGoOeo60aew94PPG5MAZE3aJp -s 6vahKFGS9a3qMLwz
输出(示例)
{ token: 'eyJ0eXAiOiJKV1JhbGciOiJSUzI1NiJ9Glvbl9uYW1lIjoiNWNiMGY0NTV6TV3
EtOWMzOC00YmJjLWIzNzEtZGMxZTQzOGMxIiwiY2xpZW50X2lkIjoiNVV6T3dBWEdvSU9lbz
YwYWV3OTRQN0c1TUFaRTNhSnAiLCJzY2MiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIkVkZ2
VNaWNyb1Rlc3RQcm9kdWN0Il0sImlhdCI3ODEyMzQ2MSwiZXhwIjoxNDc4MTI1MjYwfQ.Dx5
f5U7PXm8koNGmFX4N6VrxKMJnpndKgoJ5zWSJvBZ6Ccvhlpd85ipIIA5S2A5nx4obYWp_rpY
RJpIGYwyxP6Oq2j0rxnVjdCC4qyYMgthZjhKgEBVBe3s1ndP72GP2vV6PsSA9RQ2-yzsy9r0
TzhAZ3NJTxT1tS0XKqKngE-OhR3fJHVLAzdMDT0AmS9H0Z2NAJtQOuK6RTpCjG9B6Bc48AEM
sj7QSM-1LWiQ8LdY8k_BoC06qsTI7bCQGWwTuqL-ismbcx2bxovUxSemZIaoROfuF-dCZHG3
2aTP75WxBvvNgBBvPvQtPzbeSOtEaww' }发出 HTTP 请求以获取令牌
您也可以发出原始 HTTP 请求以获取令牌。下面是一个 curl 示例。只需在网址中替换您的组织和环境名称,并将 client_id 和 client_secret 参数替换为使用方 ID 和使用方密钥值即可:
curl -i -X POST "http://<org>-<test>.apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials", "client_id": "4t8X137pOUUtMR7wag3M1yZTcRxeK", "client_secret": "RAcOFVOvO0jns"}' -H "Content-Type: application/json"
验证令牌
根据指定组织和环境存储在 Apigee Edge 上的公钥验证已签名的不记名令牌。
用法
edgemicro token verify -o [org] -e [env] -f [filename]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-f, --file |
包含要验证的 JWT 的文件的名称。 |
-h, --help |
输出使用情况信息。 |
示例
edgemicro token get -o docs -e test -f token.jwt
有效令牌的示例输出
{ application_name: 'b43342ef-86f6-4666-a121-b9ac2025d217',
client_id: 'O9ZQRZKnn1rdgcKQsAZUBkQSMdOsKS',
scopes: [],
api_product_list: [ 'MicroTest' ],
iat: 1436396155,
exp: 1436397954 }无效令牌的示例输出
{ [JsonWebTokenError: invalid token] name: 'JsonWebTokenError', message: 'invalid token' }过期令牌的示例输出
{ [TokenExpiredError: jwt expired]
name: 'TokenExpiredError',
message: 'jwt expired',
expiredAt: Tue Jul 07 2015 09:19:25 GMT-0600 (MDT) }直接获取不记名令牌
您可能希望通过向 Apigee Edge 上的令牌端点发出 HTTP 请求来直接获取不记名令牌。实际的令牌端点是在使用 deploy-edge-service CLI 命令部署的代理中实现的。
下面是一个 curl 示例。只需将网址中的组织名称和环境名称替换为从 Apigee Edge 上的开发者应用获取的使用方 ID 和使用方密钥值,client_id 和 client_secret 参数即可:
curl -i -X POST "http://<org>-<test>.apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials", "client_id": "4t8X137pOUUtMR7wag3M1yZTcRxeK", "client_secret": "RAcOFVOvO0jns"}' -H "Content-Type: application/json"
示例输出:
HTTP/1.1 200 OK X-Powered-By: Express Cache-Control: no-store Pragma: no-cache Content-Type: application/json; charset=utf-8 Content-Length: 640 ETag: W/"280-ze/g/k+c9taqp110vjYQ" Date: Fri, 17 07 2015 15:49:24 GMT Connection: keep-alive "<long string of numbers and letters>"
初始化新的 Edge Microgateway 配置
首次安装 Edge Microgateway 后运行此命令一次。创建新的默认配置文件:~/.edgemicro/default.yaml。
用法
edgemicro init
参数
| 参数 | 说明 |
|---|---|
-h, --help |
输出使用情况信息。 |
示例
edgemicro init
输出 (成功)
config initialized to /MyHome/.edgemicro/default.yaml
验证 Edge Microgateway 配置
验证 Edge Microgateway 是否已正确配置。
用法
edgemicro verify -o [organization] -e [environment] -k [public-key] -s [secret-key]
参数
| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-k, --key |
运行“edgemicro configure”时返回的键值对命令。 |
-s, --secret |
运行“edgemicro configure”时返回的 Secret 值命令。 |
-h, --help |
输出使用情况信息。 |
示例
edgemicro verify -o docs -e test -k abc123 -s xyz456
输出 (成功)
logging to /var/tmp/edgemicro-My-Machine.local-a0c48610-a148-11e6-8466-93f081b05988 installed plugin from analytics installed plugin from oauth a0c48610-a148-11e6-8466-93f081b05988 edge micro listening on port 8000 verifying analytics negative case: OK verifying bootstrap url availability:OK verifying jwt_public_key availability: OK verifying products availability: OK verifying quota with configured products: OK verifying analytics with payload: OK verification complete
检查微网关集群状态
添加了:v2.2.4-beta
默认情况下,Edge Microgateway 以集群模式启动。您可以使用此命令检查集群的状态。
用法
edgemicro status
参数
| 参数 | 说明 |
|---|---|
-h, --help |
输出使用情况信息。 |
示例
edgemicro status
输出 (成功)
current nodejs version is v6.1.0 current edgemicro version is 2.2.4-beta edgemicro is running with 4 workers
停止 microgateway 集群
添加了:v2.2.4-beta
停止 Edge Microgateway 集群。
用法
edgemicro stop
参数
| 参数 | 说明 |
|---|---|
-h, --help |
输出使用情况信息。 |
示例
edgemicro stop
输出 (成功)
current nodejs version is v6.1.0 current edgemicro version is 2.2.4-beta Stop Completed Successfully
重新加载 microgateway 集群
添加了:v2.2.4-beta
在配置更改后提供零停机重启。通过拉取新配置重新加载 Edge Microgateway。
用法
edgemicro reload -o [organization] -e [environment] -k [public-key] -s [secret-key]
参数
>| 参数 | 说明 |
|---|---|
-o, --org |
您为其配置 Edge Microgateway 的 Apigee 组织。 |
-e, --env |
您为其配置了 Edge Microgateway 的环境。 |
-k, --key |
运行“edgemicro configure”时返回的键值对命令。 |
-s, --secret |
运行“edgemicro configure”时返回的 Secret 值命令。 |
-h, --help |
输出使用情况信息。 |
示例
edgemicro reload -o docs -e test -k abc123 -s xyz456
输出 (成功)
... Reload Completed Successfully