适用于私有云的 Edge v4.18.05
如需在安装后配置 Edge,您可以结合使用 .properties
文件和 Edge 实用程序。例如,如需在 Edge 界面上配置 TLS/SSL,您可以修改 .properties
文件以设置必要的属性。更改 .properties
文件后,您需要重启受影响的 Edge 组件。
Apigee 将 .properties
文件修改为带配置的代码的方法。从本质上讲,包含 config 的代码是一种基于 .properties
文件中的设置的键值对查询工具。在带有配置的代码中,键称为令牌。因此,如需配置 Edge,您需要在 .properties
文件中设置令牌。
借助包含配置的代码,Edge 组件可以设置产品随附的默认值,让安装团队根据安装拓扑替换这些设置,然后允许客户替换他们选择的任何属性。
如果将其视为一个层次结构,则设置的排列方式如下,客户设置的优先级最高,可覆盖安装人员团队或 Apigee 的任何设置:
- 客户
- 安装程序
- Apigee
如何使用 .properties 文件
作为客户,您只能修改 /opt/apigee/customer/application
目录中的 .properties
文件。每个组件在该目录中都有自己的 .properties
文件。例如,router.properties
和 management-server.properties
。
例如,如需创建 .properties
文件,请执行以下操作:
- 以任何用户身份在编辑器中创建文件。
- 使用
chown
将文件的所有者更改为“apigee:apigee”,或者,如果您将运行 Edge 服务的用户从“apigee”用户更改为“apigee”,则为运行 Edge 服务的用户对文件执行 chown 操作。
要为组件设置属性,请修改相应的 .properties
文件以设置令牌,然后重启组件:
/opt/apigee/apigee-service/bin/apigee-service component restart
例如,修改 router.properties
后,请重启路由器:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
升级 Edge 时,系统会读取 /opt/apigee/customer/application
目录中的 .properties
文件。这意味着,升级后,您在组件上设置的所有属性都会保留。
.properties 文件的位置
Edge 组件的 .properties
文件有三个顶级目录:安装、所有者和客户。默认位置如下表所示:
所有者 | 默认令牌根目录 |
---|---|
组件 | /opt/apigee/component_name/conf 其中 component_name 用于标识组件。可能的值包括:
|
安装 | /opt/apigee/token |
客户 | /opt/apigee/customer |
确定令牌的当前值
在为组件在 .properties
文件中设置令牌之前,您可以先使用以下命令确定其当前值:
/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token
其中,component_name 是组件的名称,token 是要检查的令牌。
此命令会搜索 .properties
文件的层次结构以确定令牌的当前值。
例如,如需检查路由器的 conf_http_HTTPRequest.line.limit
令牌的当前值,请执行以下操作:
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
您会在表单中看到输出:
Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties
在 .properties 文件中设置令牌
如需替换令牌的值,请执行以下操作:
- 修改相应组件的
.properties
文件以设置令牌值。如果该文件不存在,请创建它。 - 重启组件。
- 检查令牌值。
例如,如需为 Edge 路由器设置请求行限制,请执行以下操作:
- 修改
/opt/apigee/customer/application/router.properties
文件以设置conf_http_HTTPRequest.line.limit
令牌:conf_http_HTTPRequest.line.limit=8k
- 重启边缘路由器:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- 检查令牌的值:
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
设置可接受多个值的令牌
某些令牌接受以英文逗号分隔的值列表。例如,conf_security_rbac.restricted.resources
令牌会接受受限 URI 列表,以便只有系统管理员可以调用这些 URI。如需查看 conf_security_rbac.restricted.resources
的值,请执行以下操作:
cd /opt/apigee/edge-management-server
grep -ri "conf_security_rbac.restricted.resources" *
输出包含以下内容:
token/default.properties:conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status
如需设置接受值列表的令牌,请将任何新值附加到 .properties
文件中令牌的当前值。
因此,如需将 URI /myuri/*
添加到 conf_security_rbac.restricted.resources
,请修改 /opt/apigee/customer/application/management-server.properties
文件,如下所示:
conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*
查找令牌
在大多数情况下,本指南中会指明您需要设置的令牌。不过,如果需要确定用于替换属性的令牌,请在组件的 source
文件夹中执行 grep
。
例如,如果您知道自己在 Edge 的旧版本中设置了 session.maxAge
属性,并且想要知道用于设置该属性的令牌值,请在 /opt/apigee/edge-ui/source
目录中对该属性执行 grep
:
grep -ri "session.maxAge" /opt/apigee/edge-ui/source
您应该会在表单中看到结果:
/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}
{T}{/T} 标记之间的字符串是您在 .properties
文件中设置的令牌。
设置当前已注释掉的令牌
Edge 配置文件中注释掉了一些令牌。如果您尝试设置已注释掉的令牌,系统会忽略该设置。
如需设置已注释掉的令牌,您可以使用特殊的语法,格式如下:
conf/file.extension+propertyName=propertyValue
例如,您想要在消息处理器上设置名为 HTTPClient.proxy.host
的属性。然后,您可以对媒体资源执行 grep
操作,以确定其令牌:
cd /opt/apigee/edge-message-processor
grep -ri "HTTPClient.proxy.host" *
grep
命令会以包含令牌值的形式返回结果。请注意属性名称是如何注释掉的,如属性名称上的 # 前缀所示:
source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T} token/default.properties:conf_http_HTTPClient.proxy.host= conf/http.properties:#HTTPClient.proxy.host=
如需设置此属性,请修改 /opt/apigee/customer/application/message-processor.properties
以将其设置为:
conf/http.properties+HTTPClient.proxy.host=myhost.name.com
请注意,属性名称的前缀为 conf/http.properties+
,包含该属性的配置文件的位置和名称后跟“+”。
重启消息处理器后,检查 /opt/apigee/edge-message-processor/conf/http.properties
文件:
cat /opt/apigee/edge-message-processor/conf/http.properties
在文件末尾,您会看到属性集,格式如下:
conf/http.properties:HTTPClient.proxy.host=myhost.name.com