如何配置 Edge

Edge for Private Cloud v4.18.05

如需在安装后配置 Edge,您可以结合使用 .properties 文件和 Edge 实用程序。例如,如需在 Edge 界面中配置 TLS/SSL,请修改 .properties 文件以设置必要的属性。对 .properties 文件所做的更改需要您重启受影响的 Edge 组件。

Apigee 指的是修改 .properties 文件的方法,即包含配置的代码。从本质上讲,包含 config 的代码是一种键值对查询工具,基于 .properties 文件中的设置。在包含配置的代码中,密钥称为“令牌”。因此,如需配置 Edge,请在 .properties 文件中设置令牌。

借助“包含配置的代码”,Edge 组件可以设置产品随附的默认值,让安装团队根据安装拓扑替换这些设置,然后客户可以替换他们选择的任何属性。

如果您将其视为层次结构,那么设置将按以下方式排列,其中客户设置的优先级最高,可替换安装程序团队或 Apigee 的任何设置:

  1. 客户
  2. 安装程序
  3. Apigee

如何使用 .properties 文件

作为客户,您只能修改 /opt/apigee/customer/application 目录中的 .properties 文件。每个组件在该目录中都有自己的 .properties 文件。例如,router.propertiesmanagement-server.properties

例如,如需创建 .properties 文件,请使用以下代码:

  1. 以任意用户的身份在编辑器中创建文件。
  2. 使用 chown 将文件的所有者更改为“apigee:apigee”,或者,如果将运行 Edge 服务的用户从“apigee”用户更改为,则将文件更改为运行 Edge 服务的用户。

如需为组件设置属性,请修改相应的 .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 用于标识组件。可能的值包括:

  • apigee-cassandra(卡桑德拉)
  • apigee-openldap(打开 LDAP)
  • apigee-postgresql(PostgreSQL 数据库)
  • apigee-qpidd(Qpidd)
  • apigee-sso(边缘单点登录)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server(管理服务器)
  • edge-management-ui(新版 Edge 界面)
  • edge-message-processor(消息处理器)
  • edge-postgres-server(Postgres 服务器)
  • edge-qpid-server (Qpid Server)
  • edge-router(边缘路由器)
  • edge-ui(传统版界面)
安装
/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 文件中设置令牌

如需替换令牌的值,请执行以下操作:

  1. 修改组件的 .properties 文件以设置令牌值。如果该文件不存在,则创建它。
  2. 重启组件。
  3. 检查令牌值。

例如,如需为边缘路由器设置请求行限制,请执行以下操作:

  1. 修改 /opt/apigee/customer/application/router.properties 文件以设置 conf_http_HTTPRequest.line.limit 令牌:
    conf_http_HTTPRequest.line.limit=8k
  2. 重启边缘路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  3. 检查该令牌的值:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

设置接受多个值的令牌

某些标记接受以英文逗号分隔的值列表。例如,conf_security_rbac.restricted.resources 令牌接受限制的 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