Edge Microgateway 版本資訊

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

3.3.x 版

修正錯誤及強化 v.3.3.x 版

3.3.2

我們在 2023 年 8 月 18 日發布了以下 Edge Microgateway 修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.3.2 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

修正錯誤及強化功能:

問題 ID 類型 說明
296187679 功能

支援的 Node.js 版本包括:16、18 和 20。自 3.3.2 版起,Edge Microgateway CLI 指令僅適用於支援的版本。如果在不支援的版本中執行 CLI 指令,則會導致錯誤。另請參閱 Apigee 支援的軟體與支援的版本

283947053 錯誤

已修正一個問題,Edge Microgateway 能在與應用程式相關聯的 API 產品清單中傳回第一個 API 產品。現在,我們根據要求決定要傳回的 API 產品。

274443329 錯誤

已修正 Docker 提取過時映像檔版本的問題。Docker 節點版本已更新至 Node.js 18 版。我們現在會使用 18.17-buster-slim 版本建構 Docker 映像檔。

已修正安全性問題

無。

3.3.1

我們在 2022 年 6 月 7 日發布了以下 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.3.1 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

修正錯誤及強化功能:

問題 ID 類型 說明
220885293 功能

現在支援 Node.js 16 版。

231972608 錯誤

已修正以下問題:private configure 指令在嘗試設定私有雲時擲回錯誤。

233315475 錯誤

修正問題:json2xml plugin將回應從 JSON 轉換為 XML 時,並搭配 accumulate-response plugin使用時,會發生剖析錯誤。

221432797 轉乘

基本 Edge Microgateway 映像檔的 Docker Node.js 版本已升級至 Node.js 14。

215748732 功能

revokekeys 指令已支援 SAML 權杖驗證。

您現在可以在 revokekeys 指令中使用 -t 選項傳遞 SAML 權杖,而不是使用者名稱和密碼憑證。

詳情請參閱指令列參考資料

218723889 文件更新

說明文件已更新,納入儲存在 GitHub 的受支援 Edge Microgateway 外掛程式的連結。請參閱 Edge Microgateway 隨附的現有外掛程式

已修正安全性問題

問題 ID 說明
CVE-2021-23413 這會影響 3.7.0 之前的套件 jszip。將檔案名稱設為物件原型值 (例如 proto、toString 等) 來建構新的 ZIP 檔案,就會產生傳回物件,且內含已修改的原型執行個體。

3.3.0

我們在 2022 年 2 月 4 日發布了以下 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.3.0 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

修正錯誤及強化功能:

問題 ID 類型 說明
219556824 已知問題 Edge Microgateway Gateway 3.3.0 與 npm 稽核修正項目指令不相容。

執行 npm audit fix 會導致 apigeetool 升級至 0.15.2,這會影響 edgemicro upgradeauth 指令。

如果您執行 npm audit fix 且之後執行 edgemicro upgradeauth,就會看到以下錯誤訊息:

Error: This method has been removed in JSZip 3.0, please check the upgrade guide.

如要修正問題,請執行下列指令,還原正確的 apigeetool 版本:

npm install apigeetool@0.15.1

我們會在日後推出的 Edge Microgateway 中解決這個問題。

138622990 功能

「配額」外掛程式的新標記 isHTTPStatusTooManyRequestEnabled 會將外掛程式設定在違反配額時傳回 HTTP 429 回應狀態,而非狀態 403。請參閱配額設定選項

192534424 錯誤

修正問題:Apigee 數據分析中顯示的回應代碼與 Edge Microgateway 回應代碼不符。

198986036 強化項目 Edge Microgateway 會針對每個輪詢間隔擷取識別資訊提供者 (IDP) 的公開金鑰,並在 IDP 公開金鑰變更時更新金鑰。先前,如果 IdP 的公開金鑰有所變更,extauth 外掛程式就無法在未重新載入 Edge Microgateway 的情況下更新公開金鑰。
168713541 錯誤

加強說明文件,說明如何為多個目標設定 TLS/SSL。請參閱「使用用戶端 SSL/TLS 選項」。

171538483 錯誤

已變更說明文件來修正記錄檔的命名慣例。請參閱記錄檔命名慣例一文。

157908466 錯誤

已變更說明文件,正確說明如何安裝特定版本的 Edge Microgateway。請參閱「升級 Edge Microgateway (如果連上網際網路)」。

215748427 錯誤 修正問題:使用現有金鑰和密鑰配對撤銷金鑰時,撤銷金鑰指令會傳回錯誤。
205524197 錯誤 更新說明文件,納入完整的記錄層級清單。請參閱「edgemicro 屬性」和「如何設定記錄層級」。

3.2.x 版

修正錯誤及強化 v.3.2.x 版

3.2.3

我們在 2021 年 9 月 17 日發布了以下 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.2.3 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

修正錯誤及強化功能:

問題 ID 類型 說明
192416584 功能

disableStrictLogFile 設定屬性可讓您為應用程式記錄檔 api-log.log 放寬嚴格的檔案權限。詳情請參閱「如何放寬記錄檔權限」。

192799989 功能

on_target_response_abort 設定屬性可讓您控制 Edge Microgateway 用戶端 (Edge Microgateway) 與目標伺服器之間的連線提前關閉時的行為。詳情請參閱「edgemicro 屬性」一文。

148062415 錯誤 修正問題:在 Docker 容器環境中,Edge Microgateway 並未透過 docker stop {containerId} 指令正常關閉。程序已終止,但有 .sock.pid 個檔案並未移除。現在,系統會移除檔案,而同一個容器重新啟動後能正常運作。
190715670 錯誤 修正問題:部分要求在微閘道的內部重新載入活動期間停滯。這個問題斷斷續續,發生在高流量情境下。這個問題在使用 OAuth 外掛程式的 tokenCachecacheKey 功能時發現。
183910111 錯誤 修正問題:含有結尾斜線的資源路徑網址,會誤解為個別資源路徑。舉例來說,路徑 /country/all/country/all/ 都會解譯為同一路徑。

已修正安全性問題

問題 ID 說明
CVE-2020-28503 2.0.5 之前的套件複製提案很容易透過主要功能發生原型汙染情形,
CVE-2021-23343 透過 splitDeviceRe、SplitTailRe 和 splitPathRe 規則運算式,所有版本的套件路徑剖析都會遭受規則運算式阻斷服務 (ReDoS) 攻擊。ReDoS 展現多項式最糟的時間複雜度。

3.2.2

2021 年 7 月 15 日星期四,我們在 Edge Microgateway 發布了下列修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.2.2 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

修正錯誤及強化功能:

問題 ID 類型 說明
185323500 轉乘

expires_in 值已從字串變更為整數

權杖要求和更新權杖要求 API 現在會傳回 expires_in,做為以秒為單位指定的整數值。

為遵守 RFC 6749 OAuth 2.0 授權架構expires_in 設定參數的預期值已從字串變更為整數。詳情請參閱作業與設定參考資料

188492065 轉乘 停止支援 Node.js 8

自 3.2.2 版起,系統將不再支援 Node.js 8。詳情請參閱「支援的軟體和支援的版本:Edge Microgateway」。

183990345 功能 設定 Docker 容器的記錄輸出

Edge Microgateway 設定參數 to_console 可讓您選擇將記錄檔資訊傳送至標準輸出,而非記錄檔。如果您按照步驟在 Docker 容器中執行 Edge Microgateway,容器預設會將 stdout 和錯誤輸出內容重新導向至位於 ${APIGEE_ROOT}/logs/edgemicro.log 位置的檔案。

為避免記錄資訊傳送至 edgemicro.log,請在執行容器時使用新的 LOG_CONSOLE_OUTPUT_TO_FILE 變數。

如要進一步瞭解如何使用這個新變數,請參閱「使用 Docker for Edge Microgateway」一文。

183057665 功能 edgemicro.pidedgemicro.sock 檔案路徑設為可設定。

用於透過 Edge Microgateway 執行 Docker 容器的新 -w, --workdir 參數,可讓您指定在 Docker 容器中建立 edgemicro.sockedgemicro.pid 檔案的目錄路徑。請參閱針對 Edge Microgateway 使用 Docker

191352643 功能 Edge Microgateway 的 Docker 映像檔已更新為使用 NodeJS 12.22 版本。請參閱針對 Edge Microgateway 使用 Docker

已修正安全性問題

問題 ID 說明
CVE-2021-28860 在 Node.js 混合的情況下,在 v0.5.1 之前,攻擊者可以透過 '__proto__' 透過 mut() 和 merge() 函式新增或修改物件的屬性。系統會將經過汙染的屬性直接指派給程式中的每個物件。導致本計畫的可用性風險,可能導致服務阻斷服務 (DoS)。
CVE-2021-30246 在 Node.js 適用的 jsrsasign 套件中,透過 10.1.13 完成部分無效的 RSA PKCS#1 v1.5 簽名,遭系統誤判為有效。注意:目前還沒有已知的實際攻擊。
CVE-2021-23358 1.13.0-0 和 1.13.0-2 之前的 1.3.2 和 1.12.1 之前的套件底線,容易透過範本函式插入任意程式碼,特別是在未經過處理即傳遞做為引數的變數屬性時。
CVE-2021-29469 Node-redis 是 Node.js Redis 用戶端。在 3.1.1 版之前,當用戶端處於監控模式時,規則運算式會開始用於偵測到監控的訊息,可能會導致某些字串進行指數回溯追蹤。這個問題可能會導致服務阻斷。3.1.1 版已修補問題。
CVE-2020-8174 Docker 映像檔已更新為使用 Node.js 12.22 版

3.2.1

我們在 2021 年 3 月 5 日星期五發布了以下 Edge Microgateway 修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.2.1 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

修正錯誤及強化功能:

問題 ID 類型 說明
180362102 錯誤 已修正若 JWK 金鑰值為空值,會導致應用程式執行失敗的問題。

系統現在會處理空值條件,避免在 jwkPublicKeys 中傳遞空值。

注意:這項修正需要您升級 edgemicro-auth Proxy。

179971737 錯誤 修正問題:系統會將目標 4XX / 5XX 狀態回應記錄為 edgemicro_* Proxy 錯誤。

對於 Edge Microgateway 交易,Apigee Edge 錯誤代碼數據分析資訊主頁顯示的目標錯誤計數有誤。系統會將目標錯誤的錯誤代碼視為 Proxy 錯誤。這個問題已修正,現在改為顯示正確的目標錯誤數量。

179674670 功能 我們新增了一項功能,可讓您根據產品狀態碼篩選 JWT 中的 API 產品清單。

API 產品有三種狀態碼:「待處理」、「已核准」和「已撤銷」。在 edgemicro-auth Proxy 的「設定 JWT 變數」政策中,新增名為 allowProductStatus 的新屬性。如要使用這項屬性篩選 JWT 中列出的 API 產品,請按照下列步驟操作:

  1. 在 Apigee Proxy 編輯器中開啟 edgemicro-auth Proxy。
  2. allowProductStatus 屬性新增至 SetJWTVariables 政策的 XML 中,並指定要篩選的狀態碼清單 (以半形逗號分隔)。舉例來說,如要篩選「待處理」和「已撤銷」狀態:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript timeLimit="20000" async="false" continueOnError="false"
        enabled="true" name="Set-JWT-Variables">
        <DisplayName>Set JWT Variables</DisplayName>
        <FaultRules/>
        <Properties>
            <Property name="allowProductStatus">Pending,Revoked</Property>
        </Properties>
        <ResourceURL>jsc://set-jwt-variables.js</ResourceURL>
    </Javascript>
    
    

    如果只想列出「已核准」的產品,請按照下列方式設定資源:

    <Property name="allowProductStatus">Approved</Property>
  3. 儲存 Proxy。

    如果找不到 Property 標記,則 JWT 中會列出具有所有狀態碼的產品。

    如要使用這個新屬性,您必須升級 edgemicro-auth Proxy。

178423436 錯誤 透過 CLI 或透過環境變數傳遞的金鑰和密鑰值會顯示在程序探索工具指令列引數中。

自回報的問題中,Emcrogateway 金鑰和密鑰值是從指令列引數傳遞,或透過環境變數設定的 Edge Microgateway 金鑰和密鑰值,會在啟動微閘道後顯示於節點工作站/子項程序的引數中。

為瞭解決環境變數情境的問題,程序探索工具指令列引數中不再顯示值。

啟動微閘道時,如果金鑰和密鑰值是透過指令列傳遞,設定會取代任何環境變數值 (如有設定)。在這種情況下,值仍會顯示在程序探索工具指令列引數中。

178341593 錯誤 已修正 apikeys 外掛程式的說明文件錯誤。

apikeys 外掛程式的 README 檔案未正確加入 gracePeriod 屬性。我們已將此屬性及其說明從 README 檔案中移除。

gracePeriod 屬性是透過 oauth 外掛程式實作。如要使用寬限期功能,您必須使用 oauth 外掛程式。

179366445 錯誤 問題解決了,所有傳送至目標的 GET 要求都會捨棄酬載。

您可以使用新的設定參數 edgemicro: enable_GET_req_body 控制想要的行為。如果設為 true,系統會將要求標頭 transfer-encoding: chunked 加入所有 GET 要求,並將 GET 酬載 (如果有的話) 傳送至目標。如為 false (預設值),系統會在要求傳送至目標前,以無訊息的方式移除酬載。

例如:

edgemicro:
 enable_GET_req_body: true

根據 RFC 7231 的第 4.3.1 節:GET,GET 要求酬載沒有已定義的語意,因此可以傳送至目標。

3.2.0

我們在 2021 年 1 月 21 日星期四發布了下列適用於 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.2.0 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.2.0 3.2.0 3.2.0 3.2.0 3.2.0

修正錯誤及強化功能:

問題 ID 類型 說明
152640618 錯誤 啟用 extauth 外掛程式,以便在權杖有效時,將 x-api-key 標頭設為在要求物件中包含 client_idx-api-key 將可用於後續外掛程式。
168836123、172295489、176462355、176462872 功能 開始支援 Node.js 14。
172376835 錯誤 edgemicro-auth Proxy 中為 /token 端點使用正確的時間單位。

已修正 edgemicro-auth Proxy 中的 /token 端點以毫秒為單位傳回 expires_in 的問題,但是根據 OAuth 規格,應與 refresh_token_expires_in 的時間單位 (秒) 保持一致。

修正期限不會變更到期時間的長度,只會變更時間單位。這項設定僅適用於存取權杖回應酬載中的 expires_in 欄位。相同回應酬載中的 JWT 權杖會包含 iatexp 這兩個欄位,且系統正確產生這些欄位,而且一律為 seconds 時間單位。

如果用戶端持續使用 expires_in 值 (以毫秒為單位),在權杖過期前重新整理權杖,那麼不修改用戶端就套用這項修正,將會導致更頻繁、不必要的重新整理。您必須修改這些用戶端,以考量時間單位變更,才能維持原本的行為。

如果用戶端一直使用 JWT 權杖中的值來評估權杖更新週期,則用戶端無須變更。

173064680 錯誤 在所有資料區塊處理完畢前,微閘道終止目標要求的問題已修正。

這是在高酬載大小要求中觀察到的間歇性問題,這個問題是在 3.1.7 版中導入。

174640712 錯誤 為外掛程式加入適當的資料處理方式。

下列外掛程式已新增適當的資料處理功能:json2xmlaccumulate-requestaccumulate-responseheader-uppercase。如需外掛程式的詳細資料,請參閱「microgateway-plugins」。

3.1.x 版

修正錯誤及強化 v.3.1.x 版

3.1.8

2020 年 11 月 16 日星期一,我們針對 Edge Microgateway 發布了下列修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.1.8 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

修正錯誤及強化功能:

問題 ID 類型 說明
169201295 錯誤 環境變數標記中的數字和布林值未正確剖析。

環境變數替換程序會將所有值剖析為字串,導致剖析布林值或數值錯誤。舉例來說,edgemicro.port 需要數值,而且需要數值。修正了針對布林值和數值的支援。如需設定詳細資料,請參閱「使用環境變數值設定設定屬性」。

169202749 錯誤 在某些情況下,環境變數的更換功能無法運作。

某些設定屬性的環境變數取代處理方式無法運作。如要瞭解相關限制,請參閱「使用環境變數值設定設定屬性」。

168732942 錯誤 已修正 OAuth 範圍並未如預期限制 API Proxy 存取權的問題。

edgemicro-auth Proxy 所產生 JWT 的 /token 資料流,沒有在 Edge 中定義的正確產品範圍,原因如下:1) 傳送至 /token 流程的要求酬載未傳遞範圍參數,或是 2) 要求酬載中將無效範圍傳遞至 /token 流程。修正問題:在 Apigee Edge 中,傳回 API 產品中定義的所有範圍。

170609716 錯誤 已修正以下問題:edgemicro-auth Proxy 中的 /refresh 流程產生了不含 apiProductList 的 JWT。

170708611 錯誤 API 產品範圍不適用於自訂外掛程式。

API 產品範圍無法供自訂外掛程式使用,也未寫入快取設定檔。請參閱 關於外掛程式 init() 函式,瞭解如何開放外掛程式存取範圍詳細資料。

169810710 功能 儲存在快取設定檔中的金鑰和密鑰。

每次重新載入/開始時,Ecrogateway 金鑰和密鑰都會儲存在快取設定 yaml 檔案中。在 3.1.8 版中,金鑰和密鑰不會再儲存於快取設定檔。如果金鑰與密鑰先前是在快取設定檔中寫入,則會移除。

170708621 功能 無法停用數據分析外掛程式。

在先前的 Microgateway 版本中,數據分析外掛程式預設為啟用,且無法停用。我們在 3.1.8 版中推出了新的設定參數 enableAnalytics,用於啟用或停用數據分析外掛程式。詳情請參閱設定參考資料

159571119 錯誤 為回應/通訊端逾時,在自訂外掛程式中的 onerror_request 掛鉤中收到空值錯誤。

已修正以下問題:填入 onerror_request 事件的正確 HTTP 狀態碼和錯誤訊息,以及 onerror_response 事件的正確錯誤訊息。

3.1.7

我們在 2020 年 9 月 24 日星期四發布了以下 Edge Microgateway 修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.1.7 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

修正錯誤及強化功能:

問題 ID 類型 說明
131708105 錯誤 analytics 外掛程式錯誤處理來自 axpublisher 呼叫的空值回應,導致工作站結束。

133162200 錯誤 數據分析中不會填入開發人員應用程式資訊,而是因為未經授權的產品資源路徑所導致的 403 狀態回應,或是因權杖過期或無效而產生的 401 回應。

132194290 錯誤 當 Apigee Edge 拒絕部分數據分析記錄時,系統會捨棄 Analytics (分析) 記錄。

158618994 錯誤 Redis 用戶端連線過多。

161404373 錯誤 在 404 狀態回應中,回應訊息中包含完整的 Proxy URI。
166356972 錯誤

使用 Node.js 12.13.x 以上版本執行 Edge Microgateway 時,執行能轉換要求酬載的外掛程式時發生下列錯誤:

{"message":"write after end","code":"ERR_STREAM_WRITE_AFTER_END"}

168681746 錯誤 無法使用 redisBasedConfigCache:true 的 Edge Microgateway 手動重新載入頁面。

149256174 錯誤 網路故障時,系統不會記錄 OAuth 外掛程式錯誤。

166517190 錯誤 Synchronizer 不會儲存和擷取 jwk_public_keys 資料,並儲存在 Redis 中。

141659881 錯誤 處理無效目標憑證時發生的錯誤回應,顯示會誤導使用者的錯誤回應。

142808699 錯誤 存取控制外掛程式未正確處理「allow」和「deny」區段。

微閘道現在可正確處理拒絕部分,並遵循「允許」和「拒絕」區段的順序。為 Migateway 設定檔新增 noRuleMatchAction 屬性,以與 Apigee Edge AccessControl 政策保持一致。另請參閱 GitHub 上的「存取控制外掛程式 README」。

3.1.6

我們在 2020 年 8 月 20 日星期四發布了以下 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.1.6 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

修正錯誤及強化功能:

問題 ID 類型 說明
163711992 功能 輪替金鑰指令的自訂金鑰和憑證檔案位置選項。

如要進一步瞭解這些新的指令選項,請參閱「輪替金鑰」一文。

154838259 錯誤 修正多個資料中心內多執行個體的金鑰輪替

如要進一步瞭解這些新的指令選項,請參閱「輪替金鑰」一文。

145525133 Alpha 版功能 全新外掛程式指標

詳情請參閱 GitHub 上的「 新增外掛程式指標」README。

159396879 錯誤 移除未使用的套件輔助程式
161092943 錯誤 基礎路徑驗證不正確

在 3.1.6 版之前,當基本路徑結尾不是 / 時,Proxy 基本路徑比對有誤。

以下將進一步說明先前的行為 (已在 3.1.6 中修正):

假設 Proxy 已設定基本路徑 /hello/v1https://mocktarget.apigee.net 的目標路徑。現在,假設 Proxy 收到下列要求:

要求路徑 已解析的路徑 結果
/hello/v1/json https://mocktarget.apigee.net/json 解析路徑正確無誤,因為 /hello/v1 的基本路徑已正確比對。
要求路徑 已解析的路徑 結果
/hello/v1json https://mocktarget.apigee.netjson 解析路徑不正確,因為 /hello/v1/hello/v1json 的子字串。由於 /hello/v1json 不是有效的路徑,因此 Edge Microgateway 應擲回 404。在 3.1.6 以上版本中,這種情況下系統會擲回 404 錯誤。
160431789 錯誤 自訂外掛程式 - 未填入傳送至 init 的設定物件

與 Edge Microgateway 設定檔合併後,即可在所有自訂外掛程式的設定物件中使用 Apigee Edge 設定。詳情請參閱設定相關說明。

162758808 錯誤 Redis 備份儲存庫的全新配額設定

您可以使用下列設定指定 Redis 支援存放區以瞭解配額。詳情請參閱「使用 Redis 備份存放區取得配額」一文。

3.1.5

我們在 2020 年 6 月 26 日星期五發布了以下 Edge Microgateway 修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.1.5 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

修正錯誤及強化功能:

問題 ID 類型 說明
159210507 功能 用於排除外掛程式處理的設定

新增了一項設定功能,讓您略過指定網址的外掛程式處理程序。詳情請參閱 設定外掛程式排除網址一文。

156986819、158529319 錯誤 已修正 json2xml 外掛程式的問題

修正問題:外掛程式會產生重複的 Content-Type 標頭,以及在某些情況下無法如預期將標頭傳送至目標。

156560067、159688634 功能

在設定中使用環境變數值

我們新增了一項功能,讓您可以在設定檔中使用標記指定環境變數。指定的環境變數標記會替換為實際的環境變數值。替換功能只會儲存在記憶體中,不會儲存在原始設定或快取檔案中。詳情請參閱「 使用環境變數值設定設定屬性」。

155077210 錯誤 已修正記錄格式設定問題

已修正問題:目標主機會顯示在記錄檔中,並在後面加上多餘的冒號。

153673257 錯誤

(僅限私有雲的邊緣) 未提取微閘道感知型產品

問題已修正,未提取微閘道感知產品。這個問題只發生在 Edge 上,僅限 Private Cloud 安裝。

154956890、155008028、155829434 功能 支援依據自訂屬性篩選已下載的產品

詳情請參閱依自訂屬性篩選產品

153949764 錯誤 修正問題:記錄檔目的地檔案已滿時,Edge Microgateway 程序會當機

改善例外狀況處理機制,以便擷取錯誤並輸出訊息至控制台。

155499600 錯誤 修正金鑰輪替和 KVM 升級的問題

另請參閱輪替 JWT 金鑰

3.1.4

我們在 2020 年 4 月 23 日星期五對 Edge Microgateway 發布了以下修正項目。

修正錯誤:

已修正 3.1.3 版中的依附元件問題。3.1.3 版已在 npm 存放區中標示為「已淘汰」。否則,版本 3.1.3 版本資訊中所述的所有錯誤修正和改善項目均適用於這個版本。

3.1.3

我們在 2020 年 4 月 15 日星期三發布了下列適用於 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.1.3 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

修正錯誤及強化功能:

  • 153509313 - 已修正 Node.js 偵錯模組會導致記憶體流失的問題問題發生在 v3.1.0、v3.1.1 和 3.1.2 版。
  • 153509313 - 之前在記錄輸出中輸出了兩筆不同交易的訊息 ID 相同的問題,已修正。
  • 151673570 - 已修正 Edge Microgateway 並未將其更新為使用新 Apigee KVM API 的問題。Edge Microgateway 現可使用新指令來新增及更新 KVM 值。
  • 152822846 - 在先前版本中,Edge Microgateway 經過更新,使其處理資源路徑對應程序與 Apigee Edge 相符。在這個版本中,系統未正確處理 /literal_string/* 模式的問題。例如:/*/2/*。另請參閱 設定「/」、「/*」和「/**」資源路徑的行為
  • 152005003 - 變更用於為配額啟用機構和環境範圍 ID 的異動。
  • 152005003 - 變更用於為配額啟用機構和環境範圍 ID 的異動。使用「org + env + appName + productName」的組合做為配額 ID。

3.1.2

2020 年 3 月 16 日星期一,我們針對 Edge Microgateway 發布了下列修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.1.3 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

修正錯誤及強化功能:

  • 151285018 - 改善了功能,為 Edge Microgateway 與後端目標之間的流量新增 HTTP Proxy 支援。此外,Edge Microgateway 和 Apigee Edge 之間的現有 HTTP Proxy 支援問題也已修正。詳情請參閱:
  • 149101890:目標伺服器或負載平衡器關閉連線的記錄檔通知程式碼,從 ERROR 變更為 INFO。
  • 150746985 - 修正問題:如果設定檔中包含 redisBasedConfigCache: truequotaUri: https://%s-%s.apigee.net/edgemicro-authedgemicro verify 指令無法正常運作。
  • 151284716 - 強化功能,在工作站重新載入期間重新啟動時,能更快關閉伺服器連線。
  • 151588764 - 將 Docker 映像檔中的 Node.js 版本 (用於在 Docker 容器中執行 Edge Microgateway) 更新為 12,因為 Node.js v8 已淘汰。
  • 151306049 - 更新說明文件,列出 Edge Microgateway CLI 指令使用的 Apigee Edge 管理 API。請參閱「 Edge Microgateway 使用哪些管理 API?」。

3.1.1

我們在 2 月 20 日星期四發布了下列 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.1.1 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

修正錯誤及強化功能:

  • 146069701 - 已修正 microgateway-core 模組未遵循 HTTP_PROXYHTTPS_PROXY 環境變數的問題。 這項變更生效後,系統現在會忽略 YAML 設定檔中的 Proxy 設定 (如有指定);只會使用環境變數指定 Proxy。

    如果想在設定檔中指定 Proxy 設定,您也必須指定 HTTP_PROXY 變數,該變數會提及與設定檔中指定的 Proxy 網址相同的網址。舉例來說,如果您指定下列設定:

    edge_config:
      proxy: http://10.128.0.20:3128
      proxy_tunnel: true
    

    您也必須指定以下環境變數:

    HTTP_PROXY=http://10.128.0.20:3128
  • 146320620 - 已新增設定參數 edgemicro.headers_timeout。這個屬性可限制 HTTP 剖析器等待接收完整 HTTP 標頭的時間長度 (以毫秒為單位)。例如:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    在內部,參數會在要求上設定 Node.js Server.headersTimeout 屬性。(預設值:比 edgemicro.keep_alive_timeout 設定的時間多 5 秒。這項預設設定可防止負載平衡器或 Proxy 錯誤地中斷連線)。

  • 149278885:這項新功能可讓您在 API Proxy 層級設定目標 API 逾時,而非使用單一全域逾時設定。

    如果您在 API Proxy 中設定 TargetEndpoint 屬性 io.timeout.millis,Edge Microgateway 將能擷取該屬性,並套用目標端點專屬的逾時時間。如未套用這個參數,Edge Microgateway 會使用 edgemicro.request_timeout 指定的全域逾時。

3.1.0

我們在 1 月 21 日星期二發布了下列 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.1.0 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

修正錯誤及強化功能:

  • 144187500 - 觸發 quotas.failOpen 旗標時,系統會記錄新的 WARN 層級事件。 如果發生配額處理錯誤,或是傳送至 Edge 的「配額適用」要求無法更新遠端配額計數器,就會觸發這個旗標。在這種情況下,系統只會依據本機數量處理配額,直到下次成功同步遠端配額為止。先前,系統只會在記錄層級設為「偵錯」時記錄這個事件。

    例如:

    2020-01-20T02:52:53.040Z [warn][localhost:8000][5][foo-eval][test][hello/][]
    [DbpGIq9jKfzPX8jvXEivhA0LPwE][f372cc30-3b2f-11ea-845f-a627f][quota][remote quota not
    available so processing locally, setting quota-failed-open for identifier: AppQuota60.Quota60]
    [GET][][][][]
  • 145023519 - 修正問題:每當 Edge Microgateway 偵測到 API Proxy 有變更時,傳輸中或新交易都會受到影響。現在當 Proxy 進行變更時,Edge Microgateway 會重新整理快取,並重新啟動工作站節點。這項異動不會影響傳輸中交易和傳送至微閘道的新 API 呼叫。
  • 146378327 - sourceRequesttargetRequesttargetResponse 的記錄層級已變更為「資訊」層級。
  • 146019878 - 修正邊緣分析中的「API Proxy 效能」和 Edge Microgateway sourceResponse/targetResponse 記錄事件的延遲時間差異。Edge 數據分析和 Microgateway 記錄事件的延遲時間現在已經保持一致。
  • 模式比對邏輯相關變更:
    • 147027862 - OAuth 外掛程式已更新,可支援「API 產品」中指定的下列資源路徑比對模式:
      • /{literal}**
      • /{literal}*
      • 以上兩種模式的任何組合

      本次異動生效後,Edge Microgateway 外掛程式現在採用與 Apigee Edge 相同的模式比對模式,詳情請參閱設定「/」、「/*」和「/**」資源路徑的行為

    • 145644205 - 更新 apiKeys 外掛程式的模式比對邏輯以比對 OAuth 外掛程式。
  • 143488312 - 已修正用戶端 ID 參數開頭或結尾空格,導致 OAuth 權杖和 API 金鑰要求的 JWT 產品清單建立空白的問題。
  • 145640807 和 147579179 - 新增一項功能,名為「同步處理器」的特殊 Edge Microgateway 執行個體,可從 Apigee Edge 擷取設定資料,並將其寫入本機 Redis 資料庫。接著,您可以設定其他微閘道執行個體,從資料庫讀取其設定資料。這項功能可提升 Edge Microgateway 的韌性。 可讓 Migateway 執行個體啟動及運作,不必與 Apigee Edge 通訊。詳情請參閱「使用同步處理工具」。

    同步處理器功能目前支援與 Redis 5.0.x 搭配使用。

3.0.x 版

修正錯誤及強化 v.3.0.x 版

3.0.10

我們在 11 月 8 日星期五發布的修正和強化版 Edge Microgateway。

元件版本:

下表列出與 Edge Microgateway 3.0.10 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

修正錯誤及強化功能:

  • 142677575:功能更新,確保 Edge Microgateway 的 API 產品所用資源路徑的模式比對現在符合 Apigee Edge 使用的資源路徑模式比對功能,如 設定 /、/* 和 '/**' 資源路徑的行為所述。

    注意:如果您使用 /*/2/** 等複合資源模式,則必須確保 edgemicro_auth Proxy 已新增至獨立的 API 產品。接著,您必須將該產品納入 Proxy 的開發人員應用程式,如以下螢幕截圖所示:

    alt_text

    注意:Edge Microgateway 不支援 features.isSingleForwardSlashBlockingEnabled 設定屬性,詳情請參閱 設定「/」、「/*」和「/**」資源路徑的行為。

  • 143740696 - quotas 設定結構已變更 (另請參閱 3.0.9 版的版本資訊)。quotas 屬性可用來設定配額外掛程式。結構有所變更,讓設定元素更清楚易懂。如要設定配額外掛程式,請使用下列 YAML 設定。請注意,設定屬性稱為 quotas。如要進一步瞭解個別 quotas 設定屬性,請參閱 配額設定選項

    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
        sequence:
          - oauth
          - quota
    quotas:
      bufferSize:
        hour: 20000
        minute: 500
        default: 10000
      useDebugMpId: true
      failOpen: true
    ...
  • 141750056:新增一項功能,將 Redis 當做配額支援存放區。如果 useRedis 為 true,系統會使用 volos-quota-redis 模組。 如果設為 true,僅限連線至 Redis 的 Edge Microgateway 執行個體。如果為 false,則會使用 volos-quota-apigee 模組做為備份儲存庫,配額計數器為全域性。詳情請參閱 配額設定選項。例如:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
  • 140574210 - edgemicro-auth Proxy 產生權杖的預設到期時間已從 108000 毫秒 (1.8 分鐘) 變更為 1800 秒 (30 分鐘)。
  • 143551282 - 為了支援已啟用 SAML 的機構,我們已更新 edgemicro genkeys 指令加入 ‑‑token 參數。這個參數可讓您使用 OAuth 權杖進行驗證,而非使用者名稱/密碼。詳情請參閱「 產生金鑰」。

3.0.9

我們在 10 月 11 日星期五發布了以下 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.0.9 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

修正錯誤及強化功能:

  • 141989374 - 新增的配額外掛程式「失敗開放」功能。啟用這項功能後,如果配額處理錯誤發生,或是傳送至 Edge 的「配額適用」要求無法更新遠端配額計數器,則系統只會依據本機數量處理配額,直到下次成功同步遠端配額為止。在這兩種情況下,要求物件中都會設定 quota-failed-open 旗標。

    如要啟用「開啟失敗」配額功能,請設定下列設定:

    quotas :
     failOpen : true

    注意事項:此外,OAuth 外掛程式的 fail-open 要求物件旗標名稱也已變更為 oauth-failed-open

  • 142093764 - 已對 edgemicro-auth Proxy 變更設定,以免配額超支。變更會將配額類型設為日曆。如要使用這項改善功能,您必須將 edgemicro-auth 更新至 3.0.7 以上版本。
  • 142520568 - 新增一項功能,可在配額回應中記錄 MP (訊息處理器) ID。如要使用這項功能,您必須將 edgemicro-auth Proxy 更新至 3.0.7 以上版本,並進行下列設定:
    quotas:
      useDebugMpId: true

    如果設定了 useDebugMpId,Edge 的配額回應就會包含 MP ID,且會由 Edge Microgateway 記錄。例如:

    {
        "allowed": 20,
        "used": 3,
        "exceeded": 0,
        "available": 17,
        "expiryTime": 1570748640000,
        "timestamp": 1570748580323,
        "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a"
    }

3.0.8

我們在 9 月 26 日星期四發布了以下 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.0.8 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

修正錯誤及強化功能:

  • 140025210 - 新增「失敗開放」功能。如果因連線錯誤導致無法成功向 edgemicro-auth Proxy 發出 API 金鑰驗證呼叫,導致無法重新整理過期的 JWT 權杖,這項功能可讓 API 繼續處理作業。

    這項功能可讓您設定寬限期,讓舊的權杖保留在快取中,並在寬限期到期前重複使用。這項功能可讓 Edge Microgateway 在連線暫時故障時繼續處理要求。如果連線恢復,且成功的 Verification API 金鑰呼叫成功,系統就會擷取新的 JWT,並取代快取中的舊有 JWT。

    如要設定新的「無法開啟」功能,請按照下列步驟操作:

    1. 在 Edge Microgateway 設定檔的 oauth 資源中設定下列屬性:
      oauth:
        failOpen: true
        failopenGraceInterval: time_in_seconds
        cacheKey: true
        ...

      例如:

      oauth:
        failOpen: true
        failopenGraceInterval: 5
        cacheKey: true
        ...

      在這個範例中,如果因連線問題而無法重新整理,舊的權杖會用於 5 秒。5 秒後會傳回驗證錯誤。

  • 141168968 - 已更新所有外掛程式記錄輸出中的 correlation_id。 此外,部分記錄的記錄層級已視需要變更為 error
  • 140193349 - 對 edgemicro-auth Proxy 進行更新,要求每次驗證 API 金鑰要求都必須驗證 Edge Microgateway 金鑰和密鑰。Edge Microgateway 已更新,現在會一律在每次驗證 API 金鑰要求時傳送金鑰和密鑰。這項變更可防止用戶端取得僅有 API 金鑰的 JWT。
  • 140090250 - 更新了新增診斷記錄以進行配額處理。這項異動生效後,您可以將仲裁記錄輸出與其他 Edge Microgateway 記錄建立關聯。

3.0.7

我們在 9 月 12 日星期四發布了以下 Edge Microgateway 的修正及強化項目。

元件版本:

下表列出與 Edge Microgateway 3.0.7 相關聯的個別元件專案的版本號碼。請注意,由於每個元件都是獨立的專案,因此發布編號可能不會與主要產品版本相符:

microgateway core 設定 外掛程式 edgeauth
3.0.7 3.0.5 3.0.5 3.0.8 3.0.5

修正錯誤及強化功能:

  • 140075602 - 更新 OAuth 外掛程式,以便在適當情況下傳回 5xx 狀態碼。先前,外掛程式在所有非 200 情況下只會傳回 4xx 狀態碼。現在,只要訊息回應不是 200 狀態,系統就會根據錯誤傳回確切的 4xx 或 5xx 代碼。

    這項功能預設為停用。如要啟用這項功能,請將 oauth.useUpstreamResponse: true 屬性新增至 Edge Microgateway 設定。例如:

    oauth:
      allowNoAuthorization: false
      allowInvalidAuthorization: false
      gracePeriod: 10
      useUpstreamResponse: true
  • 140090623 - 在 3.0.6 版中,新增了新的設定屬性 quota.quotaUri。如要透過已部署至貴機構的 edgemicro-auth Proxy 管理配額,請設定這項設定屬性。如未設定這項屬性,配額端點會預設為內部 Edge Microgateway 端點。例如:
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

    在 3.0.7 版中,edgemicro-auth 已更新以接受這項新設定。如要使用 quotaUri 屬性,您必須升級至最新的 edgemicro-auth Proxy。詳情請參閱「 升級 Edgemicro-auth Proxy」。

  • 140470888 - 在配額呼叫中新增授權標頭,以便提供驗證程序。此外,edgemicro-auth Proxy 已經過修改,可將「機構」從配額 ID 中移除。由於配額端點位於客戶的機構中,因此不再需要配額 ID。
  • 140823165 - 下列屬性名稱:
    edgemicro:
        keepAliveTimeout

    3.0.6 版中未正確記錄。正確的屬性名稱如下:

    edgemicro:
        keep_alive_timeout
  • 139526406 - 已修正開發人員應用程式含有多項產品時配額計數不正確的錯誤。現在如果應用程式含有多項產品,系統現在會正確為每項產品強制執行配額。「appName + productName」的組合會做為配額 ID。

3.0.6

我們在 8 月 29 日星期四發布了以下 Edge Microgateway 的修正及強化項目。

  • 138633700 - 新增設定屬性 keepAliveTimeout。這個屬性可讓您設定 Edge Microgateway 逾時 (以毫秒為單位)。(預設值:5000 毫秒)

    例如:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623 - 新增設定屬性 quotaUri。如要透過已部署至貴機構的 edgemicro-auth Proxy 管理配額,請設定這項設定屬性。如未設定這項屬性,配額端點會預設為內部 Edge Microgateway 端點。例如:
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    如要使用這項功能,您必須先將最新版本的 edgemicro-auth Proxy 部署至貴機構。詳情請參閱「 升級 Edgemicro-auth Proxy」。

  • 138722809 - 新增設定屬性 stack_trace。這個屬性可讓您控制是否在記錄檔中顯示堆疊追蹤。例如:
    stack_trace: false

    如果將 stack_trace 設為 true,堆疊追蹤會顯示在記錄檔中。如果設為 false,堆疊追蹤就不會顯示在記錄檔中。

3.0.5

我們在 8 月 15 日星期四發布了以下 Edge Microgateway 的修正及強化項目。

修正錯誤
  • 139005279 - 已修正 edgemicro status 指令未傳回正確數量的工作站程序的問題。
  • 138437710 - ExitCounter 類別的問題已修正,因此無法寫入正確記錄。
改善一般記錄訊息
  • 139064652 - 新增針對事件和系統記錄檔新增 tracedebug 記錄層級的功能。目前,我們只新增了新增這些記錄層級的功能。目前可用的記錄層級為 infowarnerror
  • 139064616 - 所有主控台記錄陳述式的記錄輸出資料已標準化。控制台記錄陳述式現在包含下列屬性:
    • 時間戳記
    • 元件名稱
    • 程序 ID
    • 控制台記錄訊息
JWT 金鑰和密鑰記錄訊息改善項目
  • 138413755 - 改善以下 CLI 指令的 JWT 金鑰和密鑰相關記錄訊息:cert、Verify、升級 kvm、權杖、生成式金鑰、撤銷金鑰、輪替金鑰及設定。
逾時和連線拒絕錯誤訊息改善
  • 138413577 - 新增並改善後端服務逾時的錯誤處理方式。
  • 138413303 - 新增並改善回應和通訊端逾時的錯誤處理方式。
  • 138414116 - 新增並改善「連線遭拒」錯誤的錯誤處理方式。

3.0.4

我們在 8 月 1 日星期四發布了以下 Edge Microgateway 的修正及強化項目。

  • 134445926 - 改善內部 Edge Microgateway 驗證功能。
  • 137582169 - 已解決不必要的程序會啟動的問題。額外程序會導致外掛程式重新載入及使用過多記憶體。Edge Microgateway 能夠將程序數量保持在預期的限制範圍內。
  • 137768774 - 改善記錄訊息:
    • 清除交易 (要求) 記錄。
    • 視需要新增更多記錄訊息。
    • 將交易 (要求) 記錄訊息從控制台輸出移至相關的記錄檔。
    • 更新了控制台記錄檔,以便使用集中式記錄功能。
  • 138321133, 138320563 - 對配額緩衝區的基礎內部變更,以啟用日後的配額強化功能。

3.0.3

7 月 23 日星期二,我們發布了以下 Edge Microgateway 的修正及強化項目。

  • 記錄強化功能:現有執行階段記錄檔會使用新的 eventLog() 函式,以一致的格式擷取和記錄執行階段資料。記錄資訊包括:
    • 時間戳記 (ISO 8601:YYYY-MM-DDTHH:mm:ss.sssZ),
    • 記錄層級 (錯誤、警告或資訊)。
    • 主機名稱:要求標頭中的要求主機名稱。
    • 程序 ID:如果您執行的是 Node.js 程序的叢集,這是發生記錄的程序 ID。
    • Apigee 機構名稱。
    • 機構中的環境名稱。
    • API Proxy 名稱。
    • 用戶端 IP 位址。
    • ClientId,
    • 關聯 ID (目前未設定)。
    • Edge Microgateway 元件名稱。
    • 自訂訊息 - 部分物件可能會輸出傳遞至這項錯誤屬性的其他資訊。
    • 要求方法 (如果是 HTTP 要求)。
    • 回應狀態碼 (如果是 HTTP 要求)。
    • 錯誤訊息。
    • 錯誤代碼 - 如果物件包含錯誤代碼,就會顯示在此屬性中。
    • 作答時間。
    • 作業系統 線條標記結尾

    空值屬性值會產生空白括號 []

    以下範例顯示記錄格式:

    Timestamp [level][hostname][ProcessId][Org][Environment][APIProxy][ClientIp][ClientId][][component][customMessage][reqMethod][respStatusCode][errMessage][errCode][timeTaken]

    (137770055)

  • 成效:API 產品未依據環境篩選。這個問題現已修正。(135038879)
  • 其他功能測試整合與程式碼品質改善。

3.0.2

2019 年 7 月 3 日星期三,我們針對 Edge Microgateway 做出下列修正和改善項目。

程式碼品質 - 程式碼已經過品質審查,並已調整程式碼,以符合使用者所要求的品質標準。我們解決了源自 JSHint 的程式碼品質錯誤和警告。同時找出並修正部分實際程式碼錯誤。所有 Apigee Edge Microgateway 模組都已完成這項程序。請參閱 6 月 28 日和 7 月 2 日的 microgateway-configmicrogateway-coremicrogateway-pluginsmicrogateway 修訂版本。所有程式碼品質變更的模組都經過內部工具測試,該工具針對客戶用途驗證 Edge Microgateway 的執行作業。

3.0.1

我們在 2019 年 6 月 21 日星期五發布了以下 Edge Microgateway 修正及強化項目。

  • 134834551 - 變更 Edge Microgateway 支援的 Node.js 版本
    (Node.js 支援的版本:8 和 12;第 7、9 和 11 版仍處於實驗階段)
  • 134751883 - 載入低載時,Edge Microgateway 當機
  • 134518428 - 如果篩選器模式不正確,Edge Microgateway 的產品端點會傳回 5XX
  • 135113408 - 如果工作站意外終止,就應重新啟動
  • 134945852 - tokenCacheSize 未用於 OAuth 外掛程式
  • 134947757 - 在 OAuth 外掛程式中設定快取存留時間
  • 135445171 - OAuth 的寬限期計算結果有誤
  • 使用安裝 Edge Microgateway 時提供的模組模組
  • 135367906 - 安全性稽核

2.5.x 版

新功能和強化項目 v.2.5.x

(修正版本:2.5.38,2019 年 6 月 7 日)

如果 JWT 格式不正確,可能會導致工作站在使用權杖快取時當機。已在 Edge Migateway-plugins 模組中修正。(b/134672029)

(已新增 2.5.37) 新增 CLI 選項 edgemicro-cert -t

edgemicro cert -t 選項可讓您指定 OAuth 憑證來驗證管理 API。另請參閱管理憑證

(已新增 2.5.35) 支援使用 edgemicroctl 對 Edge Microgateway 進行偵錯

您可以將 mgdebug 旗標與 edgemicroctl 搭配使用。另請參閱 Kubernetes 整合工作

(已新增 2.5.35) 為 edgemicroctl 啟用 Windows 版本

(新增了 2.5.31) 新的 Edgemicro-auth/token API

已新增 Edgemicro-auth/token API,讓您將 client/secret 做為 Base64 編碼基本授權標頭和 Grant_type 做為表單參數傳遞。 請參閱「直接取得不記名權杖」一節。

(已修正 2.5.31) 私人設定不採用權杖旗標

修正問題:將 Edge Microgateway 設為在 Edge for Private Cloud 上使用 OAuth2 存取權杖時無法正常運作 (權杖未遵循)。

Docker:支援使用自行簽署憑證

(已新增 2.5.29) 如果您使用 Node.js 預設不信任的憑證授權單位 (CA),可以在透過 Edge Microgateway 執行 Docker 容器時,使用 NODE_EXTRA_CA_CERTS 參數。詳情請參閱使用不受 Node.js 信任的 CA

Docker:支援傳輸層安全標準 (TLS)

(已新增 2.5.29) 在 Docker 容器中執行的 Edge Microgateway,現在針對傳送至 Edge Microgateway 伺服器的傳入要求 (北行要求),以及從 Edge Microgateway 向目標應用程式發出的傳出要求 (南端要求) 支援 TLS。

下列範例會詳細說明如何設定這些 TLS 設定:

在這些範例中,您將瞭解如何使用容器掛接點 /opt/apigee/.edgemicro 載入憑證,之後會在 Edge Microgateway 設定檔中參照。

Docker:支援要求 Proxy

(新增 2.5.27) 如果您在 Docker 容器中執行 Edge Microgateway,您可以使用這些選項控制在防火牆後方的 Microgateway 中的 Proxy 行為:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

詳情請參閱「將 Edge Micro 做為 Docker 容器執行」。

Docker:更新外掛程式操作說明

(已新增 2.5.27) 如果您在 Docker 容器中執行 Edge Microgateway,現在有兩種方式可以部署外掛程式。使用 Docker 掛接點的其中一個選項是全新的選項。另一個選項則基本上維持不變,但 Dockerfile 已更新。詳情請參閱下列連結:

KVM 升級指令的全新 OAuth 權杖支援

(已新增 2.5.27) 您可以搭配 upgradekvm 指令使用 OAuth 權杖。詳情請參閱「升級 KVM」。

在 Edge Analytics 中區隔 API

(已新增 2.5.26) 新的數據分析外掛程式旗標可讓您隔離特定 API 路徑,這樣該路徑就會在 Edge Analytics 資訊主頁中顯示為獨立的 Proxy。例如,您可以區隔健康狀態檢查 API,以避免與實際 API 呼叫混淆。詳情請參閱「從數據分析中排除路徑」一文。

設定本機 Proxy

(已新增 2.5.25) 使用本機 Proxy,您無須在 Apigee Edge 中手動建立微閘道感知 Proxy。而微閘道將會使用本機 Proxy 的基本路徑。詳情請參閱使用本機 Proxy 模式

使用獨立模式

(已新增 2.5.25) 您可以執行 Edge Microgateway,與任何 Apigee Edge 依附元件完全中斷連線。這種情況稱為獨立模式,可讓您在沒有網際網路連線的情況下執行及測試 Edge Microgateway。請參閱以獨立模式執行 Edge Microgateway

撤銷金鑰

(已新增 2.5.19) 已新增 CLI 指令,可撤銷 Edge Microgateway 設定的金鑰和密鑰憑證。

edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
詳情請參閱「撤銷金鑰」。

支援 Docker

(新增了 2.5.19) 您現在可以將最新的 Edge Microgateway 版本下載為 Docker 映像檔

docker pull gcr.io/apigee-microgateway/edgemicro:latest

Kubernetes 支援

(已新增 2.5.19) 您可以在部署於 Kubernetes 叢集的服務前方,將 Edge Microgateway 做為服務部署或做為補充閘道。詳情請參閱「整合 Edge Microgateway 與 Kubernetes 總覽」一文。

支援 TCP 節點集區選項

(已新增 2.5.16) Edge Micro 設定中新增 nodelay 新的配置設定。

根據預設,TCP 連線會使用 Nagle 演算法先緩衝資料,然後再傳送要求。將 nodelay 設為 true 則會停用這項行為 (資料會在每次呼叫 socket.write() 時立即觸發資料)。詳情請參閱 Node.js 說明文件

如要啟用 nodelay,請按照下列步驟編輯 Edge Micro 設定檔

edgemicro:
  nodelay: true
  port: 8000
  max_connections: 1000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

用於永久監控的新 CLI 選項

(已新增 2.5.12) edgemicro forever 指令中新增了新參數。這些參數可讓您指定 forever.json 檔案的位置,並可讓您啟動或停止「永久」背景程序。另請參閱永久監控

參數說明
-f, --file指定 forever.json 檔案的位置。
-a, --actionstartstop。預設值為起始動作。

例:

如何選擇永久停用:

edgemicro forever -f ~/mydir/forever.json -a start

如何永久停止:

edgemicro forever -a stop

JWT 金鑰輪替

我們新增了一項功能,可讓您輪替用於產生 JWT 權杖的公開/私密金鑰組,以便在 Edge Microgateway 中用於 OAuth 安全性。請參閱 輪替 JWT 金鑰一文。

篩選已下載的 API Proxy

根據預設,Edge Microgateway 會下載 Edge 機構中開頭為「edgemicro_」的所有 Proxy。您可以變更這項預設值,下載名稱符合模式的 Proxy。請參閱「 篩選已下載的 Proxy」一文。

指定未使用 API Proxy 的產品

在 Apigee Edge 中,您可以建立不含任何 API Proxy 的 API 產品。這項產品設定可讓與該產品相關聯的 API 金鑰,能與貴機構部署的任何 Proxy 搭配使用。自 2.5.4 版起,Edge Microgateway 支援這項產品設定。

支援永久監控

Edge Microgateway 具有 forever.json 檔案,可讓您進行設定,控制 Edge Microgateway 的重新啟動次數和應重新啟動的間隔。這個檔案會設定名為「永久監控」的服務,這項服務可透過程式管理 Forever。請參閱 永久監控一文。

Edge Micro 設定檔的集中管理管理

如果您執行多個 Edge Microgateway 執行個體,可能會想透過單一位置管理其設定。方法是指定 HTTP 端點,讓 Edge Micro 下載其設定檔。請參閱 指定設定檔端點

支援永久 CLI 選項

(已新增 2.5.8) 使用 edgemicro forever [package.json] 指令指定 forever.json 檔案的位置。在新增這個指令之前,設定檔必須位於 Edge Microgateway 根目錄中。

例如:

edgemicro forever ~/mydir/forever.json

新增用於重新載入指令的 configUrl 選項

(已新增 2.5.8) 您現在可以透過 edgemicro reload 指令使用 --configUrl-u 選項。

JWT 時間差異的寬限期

(新增 2.5.7) OAuth 設定中的 gracePeriod 屬性可防止系統時鐘與 JWT 授權權杖中指定的「Not 前」(nbf) 或「Issued At (iat)」時間之間有些微差異造成錯誤。請將這項屬性設為秒數,方便我們處理這類差異。請參閱「 OAuth 屬性」一文。

(新增 2.5.7) OAuth 設定中的 gracePeriod 屬性可防止系統時鐘與 JWT 授權權杖中指定的「Not 前」(nbf) 或「Issued At (iat)」時間之間有些微差異造成錯誤。請將這項屬性設為秒數,方便我們處理這類差異。請參閱「 OAuth 屬性」一文。

已修正 2.5.x 版的錯誤

  • (問題 #236) 修正清除快取中的錯字。
  • (問題 #234) 重新載入 Edge Microgateway 2.5.35 的當機問題。
  • (問題 #135) 使用 -v 選項時,虛擬主機參照「安全」錯誤無效。這項修正會在部署前修改 Edgemicro-auth Proxy,確保虛擬主機與「-v」標記中指定的值完全相符。此外,您也可以為虛擬主機指定任意數量和任何名稱,不再受限於預設和安全性。
  • (問題 #141) edgemicro 重新載入指令不支援設定檔選項 -c。這個問題已經修正。
  • (問題 #142) Edge Microgateway 抱怨安裝時已淘汰的加密機制。這個問題已經修正。
  • (問題 #145) 配額不適用於 Edge Microgateway。這個問題已經修正。
  • (Apigee 社群問題: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-兩個-api-proxies-a.html#answer-33336) JWT 權杖通過 OAUTH 兩者的驗證。這個問題現已修正。
  • (Apigee 社群問題:https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway 不支援 OAuth。這個問題已經修正。
  • 修正 Windows 上的 pidPath。
  • (問題 #157) 導致下列錯誤訊息的問題已修正:未定義 ReferenceError: deployProxyWithPassword
  • (問題 #169) 更新 Node.js 依附元件 (npm 稽核)
  • edgemicro-auth Proxy 現在採用 Edge JWT 政策。Proxy 已不再仰賴 Node.js 提供 JWT 支援。

2.4.x 版

新功能和強化項目 v.2.4.x

1. 請為 Edgemicro-auth Proxy (PR 116) 設定自訂別名

您可以變更 edgemicro-auth Proxy 的預設基本路徑。根據預設,基本路徑為 /edgemicro-auth。如要變更設定,請使用 edgemicro configuration 指令中的 -x 標記。

示例:

edgemicro configure -x /mypath …


2. 基礎路徑的萬用字元支援 (PR 77)

您可以在 edgemicro_* Proxy 的基本路徑中使用一或多個「*」萬用字元。舉例來說,/team/*/members 的基礎路徑可讓用戶端呼叫 https://[host]/team/blue/membershttps://[host]/team/green/members,而不需要建立新的 API Proxy 來支援新團隊。請注意,不支援 /**/

重要事項:Apigee 不支援使用萬用字元「*」做為基本路徑的第一個元素。系統「不」支援下列做法:/*/search。

3. 已在 CLI 中新增 Private Cloud 設定的自訂設定路徑 (PR 99)

根據預設,microgateway 設定檔位於 ./config/config.yaml。在初始化、設定及啟動指令時,您現在可以使用 -c--configDir 標記在指令列中指定自訂設定路徑。已修正系統無法辨識 Private Cloud 安裝自訂設定目錄的問題。

示例:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

4. 遵循 *_PROXY 變數 (PR 61)

如果 Edge Microgateway 安裝在防火牆後方,且無法與公用雲端中的 Apigee Edge 通訊,請考慮採用以下兩種做法:

選項 1:

第一個選項是在 Migateway 設定檔中將 Edgemicro: Proxy_tunnel 選項設為 true:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: true

proxy_tunneltrue 時,Edge Microgateway 就會使用 HTTP CONNECT 方法,透過單一 TCP 連線通道 HTTP 要求。(如果設定 Proxy 的環境變數已啟用 TLS,也是如此)。

選項 2:

第二個選項是在微閘道設定檔中指定 Proxy 並將 proxy_tunnel 設為 false。例如:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: false

在此情況下,您可以設定下列變數來控制每個要使用的 HTTP Proxy 主機,或控制不應處理 Edge Microgateway Proxy 的主機:HTTP_PROXYHTTPS_PROXYNO_PROXY。您可以將 NO_PROXY 設為以逗號分隔的網域清單,其中 Edge Microgateway 不應透過 Proxy 進行 Proxy 處理。例如:

export HTTP_PROXY='http://localhost:3786'
export HTTPS_PROXY='https://localhost:3786'

如要進一步瞭解這些變數,請參閱:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


5. 為目標要求設定自訂逾時 (PR 57)

您可以使用此設定為目標要求自訂逾時:

edgemicro:
    request_timeout: 10

逾時時間設為以秒為單位。如果發生逾時,Edge Microgateway 會透過 504 狀態碼回應。

6. 遵循目標回應的自訂 HTTP 狀態訊息 (PR 53)

Edge Microgateway 會遵循目標回應中設定的自訂 HTTP 狀態訊息。在先前的版本中,從目標傳送的狀態訊息以 Node.js 預設值覆寫。

7. X-Forwarded-For 標頭可設定用於數據分析的 client_ip

如有,X-Forwarded-For 標頭會設定 Edge Analytics 中回報的 client_ip 變數。這項功能可讓您瞭解向 Edge Microgateway 傳送要求的用戶端 IP。

8. OAuth 外掛程式異動

OAuth 外掛程式支援 API 金鑰驗證和 OAuth 存取權杖驗證。在這項變更之前,外掛程式接受了任一種形式的安全性。這項變更實施後,您只能允許採用其中一種安全性模型 (同時保有回溯相容性)。

OAuth 外掛程式會新增兩個新標記:

  • allowOAuthOnly:如果設為 true,每個 API 都必須包含包含不記存取權杖的授權標頭。

  • allowAPIKeyOnly:如果設為 true,每個 API 都必須包含一組 API 金鑰的 x-api-key 標頭 (或自訂位置)。

您可以在 Edge Microgateway 設定檔中設定這些標記,如下所示:

oauth:
    allowNoAuthorization: false
    allowInvalidAuthorization: false
    keep-authorization-header: false
    allowOAuthOnly: false
    allowAPIKeyOnly: false

9. 改善 Edge Micro-auth Proxy (PR 40)

已改善 edgemicro-auth Proxy。在這些變更之前,Proxy 會將金鑰儲存在 Edge Secure Store (加密保管箱) 中。Proxy 現在會將金鑰儲存在 Edge 的加密鍵/值對應 (KVM) 中。

10. 以外掛程式重寫預設目標網址 (PR 74)

您也可以覆寫目標端點通訊埠,並選擇 HTTP 或 HTTPS。在外掛程式程式碼中修改以下變數:req.targetPortreq.targetSecure。如要選擇 HTTPS,請將 req.targetSecure 設為 true;如果是 HTTP,請設為 false。如果將 req.targetSecure 設為 true,請參閱這個討論串瞭解詳情。

11. 初步支援 OAuth 權杖驗證 (PR 125)

您可以將 Edge Microgateway 設為使用 OAuth 權杖進行驗證,而非使用使用者名稱/密碼。如要使用 OAuth 權杖,請在 edgemicro setup 指令上使用下列參數:

-t, --token <token>

例如:

edgemicro configure -o docs -e test -t <your token>

修正了 2.4.3 版的錯誤

  • 修正需要付費機構才能正確執行 Edgemicro-auth Proxy 的問題。現在,您也能將 Edge Microgateway 與試用機構搭配使用。(PR 5)
  • 修正串流未完成處理資料,但結束處理常式仍執行的問題。導致系統傳送部分回應。(PR 71)
  • 已修正系統無法辨識 Private Cloud 安裝自訂設定目錄的問題。(PR 110)
  • 修正用戶端與 Edge Microgateway 雙向安全資料傳輸層 (SSL) 問題。(PR 70)
  • 修正問題:在 Proxy 基本路徑的 Proxy 基本路徑中,API 金鑰驗證作業才能正常運作。現在,基本路徑的結尾並不需要加上斜線。(PR 48)

2.3.5 版本

新功能和強化功能 2.3.5 版

Proxy 篩選

您可以篩選 Edge Microgateway 執行個體要處理的微閘道感知 Proxy。 Edge Microgateway 啟動時,會下載相關聯的機構中的所有微閘道感知 Proxy。使用以下設定來限制微閘道可處理的 Proxy。例如,這項設定會將微閘道程序的 Proxy 處理為三個:edgemicro_proxy-1edgemicro_proxy-2edgemicro_proxy-3

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

Analytics (分析) 資料遮蓋

使用新設定,即可避免要求路徑資訊顯示在 Edge 數據分析中。將以下內容新增至 Migateway 設定,以遮蓋要求 URI 和/或要求路徑。請注意,URI 由要求的主機名稱和路徑部分組成,

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

2.3.3 版

新功能和強化項目 v.2.3.3

此版本的新功能和強化項目如下。

停用自動變更輪詢

如要關閉自動變更輪詢功能,請在微閘道設定中設定這項屬性:

disabled_config_poll_interval: true

根據預設,定期輪詢會納入 Edge 上的任何變更 (產品、微閘道感知 Proxy 等) 以及本機設定檔的變更。預設的輪詢間隔為 600 秒 (5 分鐘)。

在外掛程式中重寫目標網址

您可以在外掛程式程式碼中修改下列變數,藉此動態覆寫外掛程式中的預設目標網址:req.targetHostnamereq.targetPath

新增外掛程式函式簽名

已新增外掛程式函式簽名,提供目標回應做為引數。新增後可讓外掛程式更輕鬆地存取目標回應。

function(sourceRequest, sourceResponse, targetResponse, data, cb)

簡化預設記錄輸出程序

根據預設,記錄服務現在會省略已下載的 Proxy、產品和 JWT 的 JSON 檔案。您可以在啟動 Edge Microgateway 時設定 DEBUG=*,變更為輸出這些物件的預設值。例如:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

已新增至 CLI 的自訂設定路徑

根據預設,Microgateway 設定檔位於 ./config/config.yaml。在初始化、設定及啟動指令時,您現在可以在指令列中指定自訂設定路徑。例如:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

修正了 2.3.3 版的錯誤

  • 修正大型要求/回應期間發生的記憶體流失問題。
  • 外掛程式執行順序已修正。現已按照說明文件說明的方式運作。
  • 外掛程式累積要求外掛程式不會再懸掛 GET 要求。
  • 修正累積回應外掛程式的問題,此外掛程式缺少因缺少回應主體而導致錯誤。

版本 2.3.1

安裝附註

部分舊版 Edge Microgateway 可讓您下載 ZIP 檔案以安裝軟體。系統已不再支援這些 ZIP 檔案。如要安裝 Edge Microgateway,您必須使用:

npm install -g edgemicro

詳情請參閱安裝主題

新功能和強化功能 v.2.3.1 版

此版本的新功能和強化項目如下。

篩選 Proxy

透過新設定,您可以篩選 Edge Microgateway 啟動時載入的 Proxy。先前在 Edgemicro 設定指令中指定的 Edge 機構/環境提取的所有微閘道感知 Proxy (名為 Edgemicro_*) 的 Proxy,微閘道先前會載入。這項新功能可讓您篩選這份 Proxy 清單,讓 Edge Microgateway 僅載入您指定的 Proxy。只要將 Proxy 元素新增至微閘道設定檔,如下所示:

edge micro:
proxies:
    - edgemicro_[name]
    - edgemicro_[name]
    ...

舉例來說,假設 Edge 機構/env 中有 50 個 edgemicro_* Proxy,包括名為 edgemicro_fooedgemicro_bar 的 Proxy。您可以指示微閘道只使用這兩個 Proxy,如下所示:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

啟動後,微閘道只能呼叫指定的 Proxy。一旦嘗試呼叫從 Edge 機構/環境下載的其他微閘道感知 Proxy,就會導致錯誤。

在外掛程式中設定目標要求標頭

如要新增或修改目標要求標頭,可以考慮兩種基本模式:一個是傳入要求包含資料 (如 POST 要求中) 和不含資料 (如簡單的 GET 要求)。

假設傳入要求包含資料,且您想在目標要求上設定要求標頭,在舊版 Edge Microgateway 中,在這種情況下,無法穩定設定目標標頭。

這個模式的關鍵在於先從用戶端累積所有傳入資料。接著,在 onend_request() 函式中使用新函式 request.setOverrideHeader(name, value) 自訂標頭。

以下是示範如何執行此操作的外掛程式程式碼範例。onend_request 中設定的標頭會傳送至目標:

module.exports.init = function(config, logger, stats) {


  function accumulate(req, data) {
    if (!req._chunks) req._chunks = [];
    req._chunks.push(data);
  }

  return {

    ondata_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      next(null, null);
    },

    onend_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      var content = Buffer.concat(req._chunks);
      delete req._chunks;
      req.setOverrideHeader('foo', 'bar');
      req.setOverrideHeader('content-length', content.length);
      next(null, content);
    },


    onerror_request: function(req, res, data, next) {
      next(null, null);
    }

  };

}

如果要求不包含資料,您可以在 onrequest() 處理常式中設定目標標頭。這個模式不是新格式,而是先前記錄過的內容,並已用於 Edge Microgateway 提供的範例外掛程式。

onrequest: function(req, res, next) {
      debug('plugin onrequest');
      req.headers['x-foo-request-id'] = "bar";
      req.headers['x-foo-request-start'] = Date.now();
      next();
    }

零停機時間重新載入功能

變更 Edge Microgateway 的設定後,您就可以在不捨棄任何訊息的情況下載入設定。經過這項變更後,Edge Microgateway 一律會以叢集模式啟動,並將 --cluster 選項從 edgemicro start 指令中移除。

此外,我們也新增了三個 CLI 指令。您必須從執行 Edgemicro 啟動指令的同一個目錄中執行這些指令:

  • edgemicro status - 檢查 Edge Microgateway 是否正在執行。
  • edgemicro stop - 停止 Edge Microgateway 叢集。
  • edgemicro reload - 不需停機即可重新載入 Edge Microgateway 設定。

自動設定重新載入,無須停機

Edge Microgateway 會定期載入新設定,並在有任何變動時執行重新載入。輪詢作業會納入 Edge 上所做的任何變更 (對產品、微閘道感知 Proxy 等項目所做的變更),以及對本機設定檔所做的變更。預設的輪詢間隔為 600 秒 (5 分鐘)。您可以變更微閘道設定檔中的預設值,如下所示:

edgemicro:
    config_change_poll_interval: [seconds]

將版本資訊新增至 CLI

已將 --version 旗標新增至 CLI。如要取得最新版 Edge Microgateway,請使用:

edgemicro --version

新 Edge Microgateway 伺服器 SSL 選項

除了 keycert 之外,Edge Microgateway 也支援下列伺服器 SSL 選項:

選項 說明
pfx pfx 檔案的路徑,該檔案含有用戶端的私密金鑰、憑證和 CA 憑證 (以 PFX 格式表示)。
passphrase 包含私密金鑰或 PFX 通關密語的字串。
ca 內含 PEM 格式信任憑證清單的檔案路徑。
ciphers 字串,說明要使用的加密方式,並以「:」分隔。
rejectUnauthorized 如果為 true,系統會根據提供的 CA 清單驗證伺服器憑證。如果驗證失敗,系統會傳回錯誤。
secureProtocol 要使用的安全資料傳輸層 (SSL) 方法。舉例來說,SSLv3_method 強制使用 SSL 為第 3 版。
servername SNI (伺服器名稱指示) TLS 擴充功能的伺服器名稱。

將記錄檔傳送至 stdout

您可以使用新的配置設定,將記錄資料傳送至標準輸出:

edgemicro:
  logging:
    to_console: true  

請參閱 管理記錄檔

2.1.2 版

此版本的新功能和強化項目如下。

允許設定自訂 API 端點

授權 Proxy 有新的可設定的端點,支援使用自訂驗證服務。這些端點如下:

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

詳情請參閱「 使用自訂驗證服務」。

2.1.1 版

此版本的新功能和強化項目如下。

部署與不同平台相容的驗證 Proxy

我們加強了一項強化功能,讓用於將 Edge Microgateway 授權 Proxy 部署至 Edge 的指令與 Windows 系統相容。

2.1.0 版

新功能和強化功能 v.21.0

以下為新功能及強化項目:

指定用戶端 SSL/TLS 選項

您可以使用一組新的設定選項,為目標指定 SSL/TSL 連線的用戶端選項。請參閱 使用用戶端 SSL/TSL 選項

2.0.11 版

安裝附註 v2.0.11

部分舊版 Edge Microgateway 可讓您下載 ZIP 檔案以安裝軟體。系統已不再支援這些 ZIP 檔案。如要安裝 Edge Microgateway,您必須使用:

npm install -g edgemicro

詳情請參閱安裝主題

新功能和強化功能 v.2.0.11

以下為新功能及強化項目:

在啟動時指定通訊埠

啟動指令可讓您指定通訊埠號碼,以覆寫設定檔中指定的通訊埠。您也可以使用 PORT 環境變數指定通訊埠編號。詳情請參閱啟動指令

選擇性保留驗證標頭

新的設定 keepAuthHeader,可讓您保留要求中傳送的 Authorization 標頭。如果設為 true,系統會將驗證標頭傳遞至目標。請參閱「 OAuth 屬性」一文。

能夠使用自訂授權服務

如果您想使用自己的自訂服務處理驗證,請變更 Edge Microgateway 設定檔的 authUri 值,以指向您的服務。詳情請參閱「 使用自訂驗證服務」。

2.0.4 版

Edge Microgateway v.2.0.4 已於 2016 年 5 月 25 日推出。

新功能和強化功能 2.0.4 版

這個版本包含的新功能和強化項目。

支援產品中的資源路徑

Edge Microgateway 現已支援產品中的資源路徑。資源路徑可讓您根據 Proxy 路徑後置字串限制 API 存取權。如要進一步瞭解如何建立產品並設定資源路徑,請參閱「建立 API 產品」一文。

支援 npm 全域安裝

您現在可以使用 npm -g (全球) 選項安裝 Edge Microgateway。如要進一步瞭解這個選項,請參閱 npm 說明文件

2.0.0 版

Edge Microgateway 2.0.0 版已於 2016 年 4 月 18 日推出。

新功能和強化功能 v.2.0.0

這個版本包含的新功能和強化項目。

單一程序伺服器

Edge Microgateway 現已採用單一程序伺服器。不再使用兩種程序模型 (舊稱「代理程式」) 啟動 Edge Microgateway 的第二個程序。新架構可簡化自動化作業和容器化作業。

命名空間設定檔

設定檔現在會使用機構和環境來建立命名空間,因此可以在同一個主機上執行多個 Microgateway 執行個體。執行 Edge Microgateway 設定指令後,即可在 ~/.edgemicro 中找到設定檔。

新環境變數

目前有 4 個環境變數:EDGEMICRO_ORG、EDGEMICRO_ENV、EDGEMICRO_KEY、EDGEMICRO_SECRET。如果您在系統中設定這些變數,在使用指令列介面 (CLI) 設定及啟動 Edge Microgateway 時,可以不必指定這些變數的值。

快取設定

如果 Edge Microgateway 未連線至 Apigee Edge,會在未連線的情況下重新啟動設定檔,則會使用快取設定檔

叢集模式

您現在可以選擇在叢集模式下啟動 Edge Microgateway。叢集模式可讓您充分運用多核心系統。Microgateway 採用 Node.js 叢集模組來支援這項功能。詳情請參閱 Node.js 說明文件。

修正了 2.0.0 版的錯誤

外掛程式事件生命週期現在可以正確處理含有新回呼程式碼的非同步程式碼。

1.1.2 版本

Edge Microgateway 1.1.2 版已於 2016 年 3 月 14 日推出。

新功能和強化項目 v.1.1.2

這個版本包含的新功能和強化項目。

效能提升

Edge Microgateway 現可正確使用 Node.js HTTP 代理程式,以便改善連線集區。這項強化功能可以改善高負載下的效能和整體穩定性。

遠端偵錯工具支援

您可以將 Edge Microgateway 設為透過遠端偵錯工具執行,例如節點檢查器

新的設定檔位置

設定 Edge Microgateway 時,agent/config/default.yaml 檔案現在會複製到 ~./edgemicro/config.yaml

記錄檔輪替

新的設定屬性可讓您指定 Edge Microgateway 記錄檔的輪替間隔。

已修正 1.1.2 版的錯誤

1.1.2 版修正了下列錯誤。

說明
與地端部署 Edge 搭配使用的 Edgemicro-internal Proxy 目前使用正確的 MGMT 伺服器。
從代理程式中移除 typescript 依附元件。
修正使用精簡部署選項時的 CLI 錯誤。
修正憑證邏輯依附元件參考資料。