如何設定 Edge

如要在安裝後設定 Edge,請搭配使用 .properties 檔案和 Edge 公用程式。舉例來說,如要在 Edge UI 上設定 TLS/SSL,您必須編輯 .properties 檔案來設定必要屬性。如要變更 .properties 檔案,您必須重新啟動受影響的 Edge 元件。

Apigee 是指以設定程式碼 (有時縮寫為 CwC) 編輯 .properties 檔案的技巧。基本上,含設定的程式碼是基於 .properties 檔案中的設定鍵/值查詢工具。在含有設定的程式碼中,金鑰稱為「權杖」。因此,如要設定 Edge,您需要在 .properties 檔案中設定權杖。

具有設定的程式碼可讓 Edge 元件設定與產品一併傳送的預設值,讓安裝團隊依據安裝拓撲覆寫這些設定,然後讓客戶覆寫他們選擇的任何屬性。

如果您把設定視為階層,則設定的方式如下:客戶設定的優先順序最高,才能覆寫安裝者團隊或 Apigee 的任何設定:

  1. 客戶
  2. 安裝程式
  3. 元件

判斷符記目前的值

.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

如果符記值以 # 開頭,則會加上註解,而您必須使用特殊語法加以變更。詳情請參閱「設定目前已加註的權杖」。

如果不知道符記完整名稱,請使用 grep 等工具,依屬性名稱或關鍵字字詞進行搜尋。詳情請參閱「找出權杖」。

屬性檔案

系統會提供編輯和無法編輯的元件設定檔。本節將說明這些檔案。

可編輯的元件設定檔

下表列出 Apigee 元件和屬性檔案,您可以編輯這些元件來設定這些元件:

元件 元件名稱 可編輯的設定檔
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.properties
Apigee 單一登入 (SSO) apigee-sso /opt/apigee/customer/application/sso.properties
管理伺服器 edge-management-server /opt/apigee/customer/application/management-server.properties
訊息處理器 edge-message-processor /opt/apigee/customer/application/message-processor.properties
apigee-monit apigee-monit /opt/apigee/customer/application/monit.properties
傳統版 UI (不會影響新版 Edge UI) edge-ui /opt/apigee/customer/application/ui.properties
Edge UI (僅限新版 Edge UI;不會影響傳統版 UI) apigee-management-ui 不適用 (使用安裝設定檔)
OpenLDAP apigee-openldap /opt/apigee/customer/application/openldap.properties
Postgres 伺服器 edge-postgres-server /opt/apigee/customer/application/postgres-server.properties
PostgreSQL 資料庫 apigee-postgresql /opt/apigee/customer/application/postgressql.properties
Qpid 伺服器 edge-qpid-server /opt/apigee/customer/application/qpid-server.properties
克皮德 apigee-qpidd /opt/apigee/customer/application/qpidd.properties
路由器 edge-router /opt/apigee/customer/application/router.properties
Zookeeper apigee-zookeeper /opt/apigee/customer/application/zookeeper.properties

如果您想在其中一個元件設定檔中設定屬性,但該屬性不存在,您可以在上述位置建立屬性。

此外,您必須確保屬性檔案為「apigee」使用者擁有:

chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties

不可編輯的元件設定檔

除了可編輯的元件設定檔外,您也無法編輯設定檔。

資訊 (無法編輯) 檔案包含以下內容:

擁有者 檔案名稱或目錄
安裝
/opt/apigee/token
元件
/opt/apigee/component_name/conf

其中 component_name 代表元件。可用的值包括:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL 資料庫)
  • apigee-qpidd (魁北克)
  • apigee-sso (邊緣單一登入)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (管理伺服器)
  • edge-management-ui (新版 Edge UI)
  • edge-message-processor (訊息處理器)
  • edge-postgres-server (Postgres 伺服器)
  • edge-qpid-server (快速伺服器)
  • edge-router (邊緣路由器)
  • edge-ui (傳統版 UI)

設定權杖值

您只能修改 /opt/apigee/customer/application 目錄中的 .properties 檔案。每個元件在該目錄中都有自己的 .properties 檔案。例如 router.propertiesmanagement-server.properties。如需屬性檔案的完整清單,請參閱 .properties 檔案位置

如何建立 .properties 檔案:

  1. 在編輯器中建立新的文字檔案。檔案名稱必須與上表中顯示的客戶檔案的清單相符。
  2. 將檔案擁有者變更為「apigee:apigee」,如以下範例所示:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    如果您變更了透過「apigee」執行 Edge 服務的使用者,請使用 chown 將擁有權變更為執行 Edge 服務的使用者。

升級 Edge 時,系統會讀取 /opt/apigee/customer/application 目錄中的 .properties 檔案。這表示升級作業會保留您在元件上設定的所有屬性。

如何設定權杖值:

  1. 編輯元件的 .properties 檔案。
  2. 新增或變更符記值。以下範例會將 conf_http_HTTPRequest.line.limit 屬性的值設為 "10k:
    conf_http_HTTPRequest.line.limit=10k

    如果符記接受多個值,請以半形逗號分隔每個值,如以下範例所示:

    conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

    如要在這類清單中新增值,您通常會在清單末端附加新值。

  3. 重新啟動元件:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    其中 component_name 是下列其中一項:

    • apigee-cassandra (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (PostgreSQL 資料庫)
    • apigee-qpidd (魁北克)
    • apigee-sso (邊緣單一登入)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (管理伺服器)
    • edge-management-ui (新版 Edge UI)
    • edge-message-processor (訊息處理器)
    • edge-postgres-server (Postgres 伺服器)
    • edge-qpid-server (快速伺服器)
    • edge-router (邊緣路由器)
    • edge-ui (傳統版 UI)

    例如,編輯 router.properties 後,重新啟動路由器:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (選用) 使用 configure -search 選項,檢查權杖值已設為新的值。例如:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    如要進一步瞭解 configure -search,請參閱「判斷權杖目前的值」一文。

找出權杖

在多數情況下,本指南會找出您需要設定的憑證。不過,如果您需要覆寫包含全名或位置的現有符記值,請使用 grep 搜尋元件的 source 目錄。

舉例來說,如果您知道在先前的 Edge 版本中設定了 session.maxAge 屬性,並想瞭解用於設定該屬性的權杖值,那麼 /opt/apigee/edge-ui/source 目錄中該屬性的 grep

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

您應該會看到以下格式的結果:

/opt/apigee/component_name/source/conf/application.conf:property_name={T}token_name{/T}

以下範例顯示 UI 的 session.maxAge 權杖值:

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

{T}{/T} 標記之間的字串是可在 UI 的 .properties 檔案中設定的憑證名稱。

設定目前已加上註解的符記

部分符記在 Edge 設定檔中已加註。如果您嘗試設定在安裝或元件設定檔中加註說明的憑證,系統會忽略您的設定。

如要設定在 Edge 設定檔中加註的符記值,請使用以下形式的特殊語法:

conf/filename+propertyName=propertyValue

舉例來說,如要在訊息處理器上設定名為 HTTPClient.proxy.host 的屬性,該屬性的第一個 grep 可以確定其符記:

grep -ri /opt/apigee/edge-message-processor/ -e "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