Edge Microgateway 版本資訊

您正在查看 Apigee Edge 說明文件。
請參閱 Apigee X 說明文件
info

3.3.x 版

修正錯誤及改善項目 (v.3.3.x)

3.3.5

我們在 2024 年 12 月 20 日星期五發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 edgeauth
3.3.5 3.3.5 3.3.5 3.3.5 3.2.2

修正錯誤並改善功能:

問題 ID 類型 說明
383024578 功能

我們新增了對 Node.js 22 版的支援,並移除對 16 版的支援。如果您使用的是 Node.js 18 版,Edge Microgateway 會在啟動時顯示下列錯誤訊息:

current nodejs version is  18.x.x Note, v18.x.x will be out of support soon, see https://docs.apigee.com/release/notes/edge-microgateway-release-notes-0

如果您執行的是舊版 Node.js,就會看到以下錯誤訊息:

You are using a version of NodeJS that is not supported

已修正安全性問題

  • CVE-2024-21538
  • CVE-2024-45590
  • CVE-2019-3844
  • CVE-2019-12290
  • CVE-2020-1751
  • CVE-2018-12886
  • CVE-2023-50387
  • CVE-2019-3843
  • CVE-2022-4415
  • CVE-2021-3997

修正錯誤及改善項目 (v.3.3.x)

3.3.4

我們在 2024 年 9 月 18 日發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 edgeauth
3.3.4 3.3.4 3.3.4 3.3.4 3.2.2

修正錯誤並改善功能:

問題 ID 類型 說明
675987751 錯誤

修正 Edge Microgateway 未記錄用戶端 IP 位址的問題。

已修正安全性問題

  • CVE-2021-23337
  • CVE-2024-4068
  • CVE-2020-28469
  • CVE-2020-28503

3.3.3

我們在 2024 年 4 月 25 日發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 edgeauth
3.3.3 3.3.3 3.3.3 3.3.3 3.2.2

修正錯誤並改善功能:

問題 ID 類型 說明
315939218 已移除

Edge Microgateway 已移除 Eureka 用戶端外掛程式。移除這項功能不會影響 Edge Microgateway 核心功能或重寫目標網址。詳情請參閱「在外掛程式中重寫目標網址」。

283947053 已移除

Edge Microgateway 已停止支援 forever-monitor。您可以將 forever-monitor 替換為 PM2。詳情請參閱這篇 Apigee 社群貼文:Edgemicro + PM2:以服務形式啟動 Edgemicro

已修正安全性問題

  • CVE-2023-0842
  • CVE-2023-26115
  • CVE-2022-25883
  • CVE-2017-20162
  • CVE-2022-31129
  • CVE-2022-23539
  • CVE-2022-23541
  • CVE-2022-23540
  • CVE-2024-21484
  • CVE-2022-46175
  • CVE-2023-45133
  • CVE-2020-15366
  • CVE-2023-26136
  • CVE-2023-26115

3.3.2

我們在 2023 年 8 月 18 日發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 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 config 外掛程式 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 外掛程式將回應從 JSON 轉換為 XML,並與 accumulate-response 外掛程式搭配使用時,會發生剖析錯誤。

221432797 變更

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

215748732 功能

revokekeys 指令新增了 SAML 權杖驗證支援功能。

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

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

218723889 文件更新

我們已更新說明文件,加入支援的 Edge Microgateway 外掛程式連結,這些外掛程式儲存在 GitHub 中。請參閱「Edge Microgateway 隨附的現有外掛程式」。

已修正安全性問題

問題 ID 說明
CVE-2021-23413 這會影響 3.7.0 之前的 jszip 套件。製作新的 ZIP 檔案時,將檔案名稱設為物件原型值 (例如 proto、toString 等),即可傳回含有修改過的原型例項的物件。

3.3.0

我們在 2022 年 2 月 4 日發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 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 audit fix 指令不相容。

執行 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 現在會在每次輪詢間隔中擷取 ID 提供者的公開金鑰,並在 ID 提供者的公開金鑰變更時更新金鑰。先前,如果 IdP 的公開金鑰有所變更,extauth 外掛程式無法更新公開金鑰,除非重新載入 Edge Microgateway。
168713541 錯誤

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

171538483 錯誤

我們已修正記錄檔命名慣例,以便修正相關文件。請參閱「記錄檔案命名慣例」。

157908466 錯誤

說明文件已變更,正確說明如何安裝特定版本的 Edge Microgateway。請參閱「在有網際網路連線的情況下升級 Edge Microgateway」。

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

3.2.x 版

修正錯誤及改善項目 (v.3.2.x)

3.2.3

我們在 2021 年 9 月 17 日發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 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 之前的套件 copy-props 容易受到透過主要功能的 Prototype Pollution 攻擊。
CVE-2021-23343 所有版本的套件 path-parse 都容易受到規則運算式拒絕服務 (ReDoS) 攻擊,攻擊者會透過 splitDeviceRe、splitTailRe 和 splitPathRe 規則運算式進行攻擊。ReDoS 會顯示多項式最糟情況的時間複雜度。

3.2.2

我們在 2021 年 7 月 15 日星期四發布了 Edge Microgateway 的以下修正和改善項目。

元件版本:

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

microgateway core config 外掛程式 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 變數。

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

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

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

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

已修正安全性問題

問題 ID 說明
CVE-2021-28860 在 Node.js mixme 的 v0.5.1 之前,攻擊者可以透過 mutate() 和 merge() 函式,透過 '__proto__' 新增或變更物件的屬性。系統會直接將遭到污染的屬性指派給程式中的每個物件。這會導致程式可用性受損,進而造成可能的拒絕服務攻擊 (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 的 underscore 套件,以及從 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 config 外掛程式 edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

修正錯誤並改善功能:

問題 ID 類型 說明
180362102 錯誤 修正 JWK 鍵值為空值導致應用程式失敗的問題。

空值條件現在已處理,可避免在 jwkPublicKeys 中傳遞空值。

注意:您必須升級 edgemicro-auth 代理才能修正這個問題。

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

針對 Edge Microgateway 交易,Apigee Edge 錯誤代碼分析資訊主頁顯示錯誤的目標錯誤計數。目標錯誤的錯誤代碼會計為 Proxy 錯誤。這個問題已修正,現在會顯示正確的目標錯誤計數。

179674670 功能 新增功能可讓您根據產品狀態代碼,篩選 JWT 中放置的 API 產品清單。

API 產品有三種狀態碼:待處理、已核准和已撤銷。 我們已在 edgemicro-auth 代理程式中,將名為 allowProductStatus 的新屬性加入「Set JWT Variables」政策。如要使用這項屬性篩選 JWT 中列出的 API 產品,請按照下列步驟操作:

  1. 在 Apigee 代理編輯器中開啟 edgemicro-auth 代理。
  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 代理程式。

178423436 錯誤 在 CLI 或透過環境變數傳遞的鍵和機密值,會顯示在程序探索器指令列引數中。

有使用者回報,在啟動 Edge Microgateway 後,透過命令列引數傳遞或透過環境變數設定的 Edge Microgateway 金鑰和機密值,會顯示在節點 worker/子程序的引數中。

為解決環境變數情境中的這個問題,我們已不再在程序探索器指令列引數中顯示值。

如果在啟動微型閘道時,金鑰和密鑰值會透過指令列傳遞,這些設定會取代任何環境變數值 (如果已設定)。在這種情況下,這些值仍會顯示在 Process Explorer 指令列引數中。

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

apikeys 外掛程式的 README 檔案錯誤地加入了 gracePeriod 屬性。我們已從 README 中移除這項屬性及其說明。

oauth 外掛程式會實作 gracePeriod 屬性。如要使用寬限期功能,您必須使用 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 config 外掛程式 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 代理程式中,使用 /token 端點的正確時間單位。

修正了以下問題:edgemicro-auth 代理程式中的 /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 config 外掛程式 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 代理程式中的 /token 流程會產生 JWT,但沒有在 Edge 上定義正確的產品範圍,這是因為有兩種不同的情況:1) 傳送至 /token 流程的要求酬載未傳送範圍參數,或 2) 傳送至 /token 流程的要求酬載中傳遞無效的範圍。我們已修正問題,可在 Apigee Edge 中傳回 API 產品中定義的所有範圍。

170609716 錯誤 修正了 edgemicro-auth 代理程式中 /refresh 流程產生沒有 apiProductList 的 JWT 的問題。

170708611 錯誤 自訂外掛程式無法使用 API 產品範圍。

API 產品範圍未提供給自訂外掛程式,也未寫入快取設定檔。請參閱「 關於外掛程式 init() 函式」,瞭解如何讓外掛程式存取範圍詳細資料。

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

Edge Microgateway 金鑰和密鑰會在每次重新載入/啟動時儲存在快取設定 yaml 檔案中。在 3.1.8 版中,金鑰和密鑰不再儲存在快取設定檔中。如果先前已將金鑰和密鑰寫入快取設定檔,系統會將這些項目移除。

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

在先前的微型閘道版本中,分析外掛程式預設為啟用,且無法停用。在 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 config 外掛程式 edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

修正錯誤並改善功能:

問題 ID 類型 說明
131708105 錯誤 analytics 外掛程式誤處理 axpublisher 呼叫的空值回應,導致 worker 退出。

133162200 錯誤 開發人員應用程式資訊未在分析中填入,且傳回的狀態為 403,原因是未經授權的產品資源路徑,或傳回的狀態為 401,原因是權杖已過期或無效。

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

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

161404373 錯誤 如果是 404 狀態回應,回應訊息會包含完整的 Proxy URI。
166356972 錯誤

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

{"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 錯誤 accesscontrol 外掛程式無法正確處理「allow」和「deny」部分。

微型閘道現在會正確處理拒絕部分,並遵循「允許」和「拒絕」部分的順序。我們在微型閘道設定檔中新增了 noRuleMatchAction 屬性,以便與 Apigee Edge AccessControl 政策保持一致。另請參閱 GitHub 上的 存取權控管外掛程式說明

3.1.6

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

元件版本:

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

microgateway core config 外掛程式 edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

修正錯誤並改善功能:

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

如要進一步瞭解這些新的指令選項,請參閱「旋轉鍵」。

154838259 錯誤 修正多個資料中心中多個執行個體的索引鍵輪替問題

如要進一步瞭解這些新的指令選項,請參閱「旋轉鍵」。

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

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

159396879 錯誤 移除未使用的 Helper 套件
161092943 錯誤 基本路徑驗證錯誤

在 3.1.6 版之前,如果 basepath 結尾不是 /,Proxy 就會比對錯誤。

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

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

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

合併 Edge Microgateway 設定檔後,Apigee Edge 設定會在所有自訂外掛程式的設定物件中提供。請參閱 config

162758808 錯誤 Redis 備用儲存空間的新配額設定

您可以使用下列設定,為配額指定 Redis 後端儲存庫。詳情請參閱「使用 Redis 後端儲存庫來管理配額」。

3.1.5

我們在 2020 年 6 月 26 日星期五發布了 Edge Microgateway 的以下修正和增強功能。

元件版本:

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

microgateway core config 外掛程式 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) 未提取 Microgateway 感知產品

修正了無法擷取微型閘道相容產品的問題。這個問題僅發生在私有雲 Edge 安裝作業中。

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

詳情請參閱「依自訂屬性篩選產品」一文

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

我們改善了例外狀況處理機制,以便擷取錯誤並在主控台上顯示訊息。

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

另請參閱「輪替 JWT 金鑰」。

3.1.4

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

修正錯誤:

修正了 3.1.3 版中的依附元件問題。在 npm 存放區中,已將 3.1.3 版標示為已淘汰。除此之外,版本 3.1.3 版本資訊中所述的所有錯誤修正和強化功能都適用於此版本。

3.1.3

我們在 2020 年 4 月 15 日星期三發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

修正錯誤並改善功能:

  • 153509313 - 修正了 Node.js 偵錯模組導致記憶體流失的問題。這個問題出現在 3.1.0、3.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 config 外掛程式 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-auth 時,edgemicro verify 指令無法正常運作的問題。
  • 151284716 - 我們改善了在重新載入期間重新啟動 worker 時,關閉伺服器連線的速度。
  • 151588764 - 由於 Node.js 8 版已淘汰,因此請將用於在 Docker 容器中執行 Edge Microgateway 的 Docker 映像檔中的 Node.js 版本更新為 12 版。
  • 151306049 - 說明文件已更新,列出 Edge Microgateway CLI 指令使用的 Apigee Edge 管理 API。請參閱「 Edge Microgateway 會使用哪些管理 API?」。

3.1.1

我們在 2 月 20 日星期四發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

修正錯誤並改善功能:

  • 146069701 - 修正 microgateway-core 模組未遵循 HTTP_PROXYHTTPS_PROXY 環境變數的問題。這項異動後,系統會忽略 YAML 設定檔中的代理程式設定 (如有指定),只會使用環境變數指定代理程式。

    如果您想在設定檔中指定 Proxy 設定,則必須一併指定 HTTP_PROXY 變數,並在其中提及與設定檔中指定的 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 代理程式層級設定目標 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 config 外掛程式 edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

修正錯誤並改善功能:

  • 144187500 - 系統會在觸發 quotas.failOpen 標記時記錄新的警告層級事件。 如果發生配額處理錯誤,或是向 Edge 提出的「quota apply」要求無法更新遠端配額計數器,系統就會觸發這個標記。在這種情況下,系統會根據本機計數進行配額處理,直到下一次成功的遠端配額同步作業為止。先前,只有在記錄層級設為 DEBUG 時,系統才會記錄此事件。

    例如:

    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 發生變更時,Edge Microgateway 會重新整理快取,並重新啟動 worker 節點。這項異動不會影響傳送至微型閘道的交易和新 API 呼叫。
  • 146378327 - sourceRequesttargetRequesttargetResponse 的記錄層級已變更為 INFO 層級。
  • 146019878 - 修正 Edge 分析中計算的「API Proxy 效能」延遲時間,與 Edge Microgateway sourceResponse/targetResponse 記錄事件之間的差異。如今,Edge 分析和 Microgateway 記錄事件的延遲時間已對齊。
  • 模式比對邏輯相關異動:
    • 147027862 - oauth 外掛程式已更新,可支援 API 產品中指定的下列資源路徑比對模式:
      • /{literal}**
      • /{literal}*
      • 上述兩種模式的任意組合

      在進行這項變更後,Edge Microgateway 外掛程式現在會遵循與 Apigee Edge 相同的模式比對,如「設定資源路徑 '/'、'/*' 和 '/**' 的行為」一文所述。

    • 145644205 - 更新 apiKeys 外掛程式的模式比對邏輯,以便與 oauth 外掛程式相符。
  • 143488312 - 修正了以下問題:用戶端 ID 參數開頭或結尾有空格,導致建立的 JWT 產品清單在 OAuth 權杖和 API 金鑰要求中為空白。
  • 145640807 和 147579179 - 新增功能可讓名為「同步器」的特殊 Edge Microgateway 例項從 Apigee Edge 擷取設定資料,並將資料寫入本機 Redis 資料庫。接著,其他微型閘道執行個體可設定為從資料庫讀取其設定資料。這項功能可為 Edge Microgateway 提供一定程度的復原能力。這樣一來,微型閘道執行個體就能啟動及運作,而無須與 Apigee Edge 通訊。詳情請參閱「使用同步器」。

    目前同步器功能可與 Redis 5.0.x 搭配使用。

3.0.x 版

修正錯誤及改善項目 (第 3.0.x 版)

3.0.10

我們在 11 月 8 日星期五發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 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 代理程式已新增至獨立 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 config 外掛程式 edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

修正錯誤並改善功能:

  • 141989374 - 新增「失敗時開放」功能,適用於配額外掛程式。啟用這項功能後,如果發生配額處理錯誤,或是向 Edge 提出的「quota apply」要求無法更新遠端配額計數器,系統會根據本地計數處理配額,直到下次成功的遠端配額同步處理作業為止。在這兩種情況下,系統會在要求物件中設定 quota-failed-open 標記。

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

    quotas :
     failOpen : true

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

  • 142093764 - 已對 edgemicro-auth 代理程式進行設定變更,以防止配額超出。這項異動是將配額類型設為「calendar」。如要使用這項改善功能,您必須將 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 config 外掛程式 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 在發生暫時連線失敗時,繼續處理要求。連線恢復後,如果「驗證 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 - 我們已更新系統,新增用於處理配額的診斷記錄。這項變更可讓您將 quoto 記錄輸出內容與其他 Edge Microgateway 記錄建立關聯。

3.0.7

我們在 9 月 12 日星期四發布了 Edge Microgateway 的以下修正和強化功能。

元件版本:

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

microgateway core config 外掛程式 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 代理伺服器」。

  • 140470888 - 已在配額呼叫中新增授權標頭,以提供驗證。此外,我們也修改了 edgemicro-auth Proxy,從配額 ID 中移除「organization」。由於配額端點位於客戶的機構組織中,因此不再需要配額 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 快取代理程式部署至貴機構。詳情請參閱 升級 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 - 改善下列指令列指令的 JWT 金鑰和機密資料相關記錄訊息:cert、verify、upgradekvm、token、genkeys、revokekeys、rotatekey 和 configure。
改善逾時和連線遭拒錯誤訊息
  • 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 - oauth 外掛程式未使用 tokenCacheSize
  • 134947757 - 在 OAuth 外掛程式中設定 cacheTTL
  • 135445171 - OAuth 中的 gracePeriod 計算方式有誤
  • 使用 Edge Microgateway 安裝作業提供的已記錄模組
  • 135367906 - 安全性稽核

2.5.x 版

新功能和強化功能 (第 2.5.x 版)

(已修正 2.5.38,2019 年 6 月 7 日)

如果 JWT 格式不正確,可能會導致 worker 在使用權杖快取時異常終止。已在 Edge microgateway-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,可讓您將用戶端/密鑰做為 Base64 編碼的基本授權標頭傳遞,並將 grant_type 做為表單參數傳遞。請參閱「直接取得權杖權杖代碼」一文。

(已修正 2.5.31) 私人設定不遵循權杖標記

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

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

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

Docker:支援 TLS

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

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

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

Docker:支援要求 Proxy 功能

(新增於 2.5.27) 如果您在 Docker 容器中執行 Edge Microgateway,則可使用下列選項,在微型閘道在防火牆後方執行時控管 Proxy 行為:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

詳情請參閱「以 Docker 容器執行 Edge Micro」。

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 支援

(新增於 2019 年 2 月 5 日) 您現在可以下載最新的 Edge Microgateway 版本,做為 Docker 映像檔

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

Kubernetes 支援

(新增於 2019 年 5 月 2 日) 您可以將 Edge Microgateway 部署為服務,或在 Kubernetes 叢集中部署的服務前方部署為 Sidecar Gateway。請參閱「將 Edge Microgateway 與 Kubernetes 整合」一文。

支援 TCP nodelay 選項

(新增於 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

Forever 監控功能的新 CLI 選項

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

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

範例:

如要啟動 Forever,請按照下列步驟操作:

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

如要停止 Forever,請按照下列步驟操作:

edgemicro forever -a stop

JWT 金鑰輪替

我們新增了一個功能,可讓您輪替用於產生 Edge Microgateway 中 OAuth 安全性 JWT 權杖的公開/私密金鑰組。請參閱「 輪替 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-monitor 的服務,該服務會以程式輔助方式管理 Forever。請參閱 永久監控

Edge Micro 設定檔的集中管理

如果您執行多個 Edge Microgateway 執行個體,可能會想從單一位置管理這些執行個體的設定。您可以指定 Edge Micro 可下載其設定檔的 HTTP 端點,請參閱「 指定設定檔端點」。

支援 forever 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 Before (nbf) 或 Issued At (iat) 時間略有差異而導致錯誤。將這項屬性設為秒數,以便允許這種差異。請參閱「 OAuth 屬性」。

(新增於 2.5.7) OAuth 設定中的 gracePeriod 屬性可避免系統時鐘與 JWT 授權權杖中指定的 Not Before (nbf) 或 Issued At (iat) 時間略有差異而導致錯誤。將這項屬性設為秒數,以便允許這種差異。請參閱「 OAuth 屬性」。

修正錯誤 v2.5.x

  • (問題 #236) 修正清除快取時的錯字。
  • (問題 #234) Edge Microgateway 2.5.35 的 Reload 異常終止。
  • (問題 #135) 使用 -v 選項時,出現無效的虛擬主機參照「secure」錯誤。這個修正程式會在部署前修改 edgemicro-auth 代理程式,確保虛擬主機與「-v」標記中指定的內容完全相符。此外,您可以為虛擬主機指定任意數量和名稱 (不再受限於預設和安全)。
  • (問題 #141) edgemicro reload 指令不支援設定檔選項 -c。這個問題已經修正。
  • (問題 #142) Edge Microgateway 會在安裝期間對已淘汰的加密貨幣提出警告。這個問題已經修正。
  • (問題 #145) 配額無法與 Edge Microgateway 搭配運作。這個問題已經修正。
  • (Apigee 社群問題: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) JWT 權杖已根據 OAUTH 中的 API Proxy 和資源 URI 進行驗證。這個問題現已修正。
  • (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 委派伺服器的預設 basepath。根據預設,基本路徑為 /edgemicro-auth。如要變更,請在 edgemicro configure 指令中使用 -x 旗標。

範例:

edgemicro configure -x /mypath …


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

您可以在 edgemicro_* 快取的基礎路徑中使用一或多個「*」萬用字元。舉例來說,如果您設定 /team/*/members 做為基礎路徑,用戶端就能呼叫 https://[host]/team/blue/membershttps://[host]/team/green/members,而您不必建立新的 API Proxy 來支援新的團隊。請注意,系統不支援 /**/

重要事項:Apigee 不支援使用萬用字元「*」做為基礎路徑的第一個元素。舉例來說,系統不支援以下模式:/*/search。

3. 為私有雲端設定新增自訂設定路徑 (PR 99) (CLI) (PR 99)

根據預設,微型閘道設定檔位於 ./config/config.yaml。在初始化、設定和啟動指令中,您現在可以使用 -c--configDir 標記,在指令列上指定自訂設定路徑。修正私有雲安裝作業無法辨識自訂設定目錄的問題。

範例:

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

4. 尊重 *_PROXY 變數 (PR 61)

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

選項 1:

第一個選項是在 microgateway 設定檔中將 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 不應將這些網域轉送至此。例如:

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 標頭可為 Analytics 設定 client_ip

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

8. OAuth 外掛程式變更

OAuth 外掛程式支援 API 金鑰驗證和 OAuth 存取權杖驗證。在這個異動生效前,外掛程式會接受這兩種安全性形式。這項變更可讓您只允許其中一種安全性模型 (同時維持回溯相容性)。

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

  • allowOAuthOnly:如果設為 true,則每個 API 都必須附帶 Authorization 標頭,並附帶 Bearer 存取權杖。

  • allowAPIKeyOnly:如果設為 true,則每個 API 都必須附帶 x-api-key 標頭 (或自訂位置),並附上 API 金鑰。

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

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

9. 改善 edgemicro-auth proxy (PR 40)

我們已改善 edgemicro-auth 代理程式。在這些變更之前,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 configure 指令中使用下列參數:

-t, --token <token>

例如:

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

修正錯誤 v2.4.3

  • 修正需要付費機構才能正確執行 edgemicro-auth proxy 的問題。您現在也可以在試用版組織中使用 Edge Microgateway。(PR 5)
  • 修正串流未處理完資料,但結束處理常式仍會執行的問題。導致系統傳送部分回應。(PR 71)
  • 修正私有雲安裝作業無法辨識自訂設定目錄的問題。(PR 110)
  • 修正用戶端和 Edge Microgateway 之間雙向 SSL 的問題。(PR 70)
  • 修正 Proxy 基礎路徑必須有結尾斜線,才能正確驗證 API 金鑰的問題。您現在不需要在 basepath 結尾加上尾隨斜線。(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 分析中。在微型閘道組態中新增以下內容,以遮蓋要求 URI 和/或要求路徑。請注意,URI 包含要求的主機名稱和路徑部分。

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

2.3.3 版

新功能和增強功能 (第 2.3.3 版)

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

停用自動變更輪詢功能

您可以在微型閘道設定中設定這個屬性,藉此關閉自動變更輪詢:

disabled_config_poll_interval: true

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

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

您可以在外掛程式程式碼中修改 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

修正錯誤 v2.3.3

  • 修正在大型要求/回應期間發生的記憶體流失問題。
  • 修正外掛程式執行順序。這項功能現在的運作方式與說明文件中所述相同。
  • 外掛程式累積要求外掛程式不再針對 GET 要求停止運作。
  • 修正 accumulate-response 外掛程式中缺少回應主體導致錯誤的問題。

版本 2.3.1

安裝注意事項

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

npm install -g edgemicro

詳情請參閱安裝主題

新功能和強化功能 (第 2.3.1 版)

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

篩除 Proxy

新的設定可讓您篩選 Edge Microgateway 在啟動時載入的 Proxy。先前,微型閘道會從您在 edgemicro 設定指令中指定的 Edge 機構/環境,載入所有微型閘道感知 Proxy (Proxy 名稱為 edgemicro_*)。這項新功能可讓您篩選這個 Proxy 清單,讓 Edge Microgateway 只載入您指定的 Proxy。只要將 proxy 元素新增至 microgateway 設定檔即可,如下所示:

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

舉例來說,假設 Edge 組織/環境中有 50 個 edgemicro_* 代理程式,包括名為 edgemicro_fooedgemicro_bar 的代理程式。您可以這樣告訴微型閘道只使用這兩個 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 start 指令的相同目錄執行下列指令:

  • edgemicro status:檢查 Edge Microgateway 是否正在執行。
  • edgemicro stop:停止 Edge Microgateway 叢集。
  • edgemicro reload:重新載入 Edge Microgateway 設定,且不會造成服務中斷。

自動重新載入設定,完全不需停機

Edge Microgateway 會定期載入新設定,並在發生任何變更時執行重新載入作業。輪詢會擷取 Edge 上的任何變更 (產品變更、微型閘道感知 Proxy 等),以及本機設定檔的變更。預設的輪詢間隔為 600 秒 (五分鐘)。您可以變更 microgateway 設定檔中的預設值,步驟如下:

edgemicro:
    config_change_poll_interval: [seconds]

在 CLI 中新增版本資訊

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

edgemicro --version

新的 Edge Microgateway 伺服器 SSL 選項

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

選項 說明
pfx 包含用戶端私密金鑰、憑證和 CA 憑證的 pfx 檔案路徑,格式為 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

詳情請參閱安裝主題

新功能和強化功能 (第 2.0.11 版)

以下是新功能和強化項目:

在啟動時指定通訊埠

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

選用保留驗證標頭

新的設定 keepAuthHeader 可讓您保留在要求中傳送的授權標頭。如果設為 true,系統就會將 Auth 標頭傳遞至目標。請參閱 OAuth 屬性

可使用自訂授權服務

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

2.0.4 版

Edge Microgateway 2.0.4 版已於 2016 年 5 月 25 日發布。

新功能和強化功能 (v2.0.4)

以下是本版本的新功能和強化功能。

支援產品中的資源路徑

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

支援 npm 全域安裝功能

您現在可以使用 npm -g (global) 選項安裝 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。叢集模式可讓您充分利用多核心系統。微型閘道會使用 Node.js 叢集模組來提供這項功能。詳情請參閱 Node.js 說明文件。

修正錯誤 v2.0.0

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

1.1.2 版本

Edge Microgateway 1.1.2 版已於 2016 年 3 月 14 日發布。

新功能和強化功能 (第 1.1.2 版)

以下是本版本的新功能和強化功能。

效能改善

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

遠端偵錯工具支援

您可以設定 Edge Microgateway 搭配遠端偵錯工具 (例如 node-inspector) 執行。

新設定檔位置

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

記錄檔輪替

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

修正錯誤 v1.1.2

以下錯誤已在 1.1.2 版中修正。

說明
針對 edgemicro 內部 Proxy 的 Java 呼叫,現在會使用正確的 MGMT 伺服器,以便與內部 Edge 搭配使用。
從代理程式中移除 typescript 依附元件。
修正使用精簡部署選項時的 CLI 錯誤。
修正憑證邏輯依附元件參照。