Edge Microgateway 版本資訊

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

3.3.x 版

修正錯誤及提升效能 v.3.3.x

3.3.7

我們於 2025 年 7 月 17 日發布 Edge Microgateway 的下列修正和強化功能。

修正錯誤及提升效能:

問題 ID 類型 說明
191613108 功能

Edge Microgateway (EMG) 已強化,支援 excludeUrls 設定中的萬用字元網址模式。這項強化功能解決了先前的限制,也就是 executeURL 功能僅限靜態網址,不支援網址模式或 GET 要求中的查詢參數。

更新後,外掛程式可根據動態或模式比對網址有條件排除。這項修改回溯相容,確保現有的靜態網址設定仍可正常運作,無須變更。

例如:

edgemicro:
  plugins:
    excludeUrls: '/hello,/proxy_one/*' # global exclude urls
    sequence:
      -oauth
      -json2xml
      -quota
      -json2xml:
          excludeUrls: '/hello/xml/*'  # plugin level exclude urls
135276110 功能

Edge Microgateway (EMG) 分析資料包含 gateway_flow_id。先前這個欄位遭到省略,導致無法明確識別及關聯 Analytics 事件與特定 API 執行作業。

EMG 已更新,可自動為每筆 Analytics 記錄填入 gateway_flow_id 的專屬 UUID。這個欄位預設會成為所有數據分析酬載的必要元件,大幅提升資料追蹤能力和報表一致性。

422696257 錯誤

解決重大當機問題,大幅提升系統穩定性。

修正方式是找出並修正內部模組中的錯誤設定,該設定先前導致重複的程序迴圈,進而造成系統過載。這項修正措施消除了迴圈,讓系統更加穩定可靠。

修正安全性問題

3.3.6

我們在 2025 年 4 月 16 日發布了 Edge Microgateway 的下列修正和強化功能。

元件版本:

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

微型閘道 core config 外掛程式 edgeauth
3.3.6 3.3.6 3.3.6 3.3.6 3.2.2

修正安全性問題

  • CVE-2025-27789
  • CVE-2024-21538
  • CVE-2024-12133

3.3.5

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

元件版本:

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

微型閘道 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 v18,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

3.3.4

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

元件版本:

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

微型閘道 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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: Starting edgemicro as a service (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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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 文件更新

說明文件已更新,現在包含 GitHub 上儲存的支援 Edge Microgateway 外掛程式連結。請參閱「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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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 Analytics 中顯示的回應代碼與 Edge Microgateway 回應代碼不符。

198986036 強化項目 Edge Microgateway 現在會在每個輪詢間隔擷取身分識別提供者 (IDP) 的公開金鑰,並在 IDP 的公開金鑰變更時更新金鑰。 先前,如果 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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 容易受到原型污染,因為主要功能存在漏洞。
CVE-2021-23343 所有版本的 package path-parse 都容易受到規則運算式阻斷服務 (ReDoS) 攻擊,因為 splitDeviceRe、splitTailRe 和 splitPathRe 規則運算式存在安全漏洞。ReDoS 的最糟情況時間複雜度為多項式。

3.2.2

我們已於 2021 年 7 月 15 日星期四,發布 Edge Microgateway 的下列修正和強化功能。

元件版本:

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

微型閘道 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 變數。

如要瞭解如何使用這項新變數,請參閱「使用 Docker 進行 Edge Microgateway」。

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

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

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

修正安全性問題

問題 ID 說明
CVE-2021-28860 在 Node.js mixme 中,攻擊者可透過 mutate() 和 merge() 函式,透過「__proto__」新增或變更物件的屬性 (v0.5.1 之前的版本)。受污染的屬性會直接指派給程式中的每個物件。這會導致程式可用性受到威脅,可能造成阻斷服務 (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 版之前,當用戶端處於監控模式時,用於偵測監控訊息的 regex 可能會導致某些字串出現指數式回溯。這個問題可能會導致服務阻斷。3.1.1 版已修正這個問題。
CVE-2020-8174 Docker 映像檔已更新為使用 Node.js 12.22 版

3.2.1

我們已於 2021 年 3 月 5 日 (星期五) 發布 Edge Microgateway 的下列修正和強化項目。

元件版本:

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

微型閘道 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 錯誤。

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

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

API 產品有三種狀態碼:「待處理」、「已核准」和「已撤銷」。 edgemicro-auth Proxy 的「Set JWT Variables」政策已新增名為 allowProductStatus 的屬性。如要使用這項屬性篩選 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 Proxy。

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

據報,啟動微型閘道後,從命令列引數傳遞或透過環境變數設定的 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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_id。後續外掛程式即可使用 x-api-key
168836123、172295489、176462355、176462872 功能 新增 Node.js 14 支援。
172376835 錯誤 edgemicro-auth 代理程式中,為 /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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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 Proxy 中的 /refresh 流程產生 JWT 時沒有 apiProductList

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

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

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

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

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

在舊版微型閘道中,分析外掛程式預設為啟用,且無法停用。3.1.8 版導入了新的設定參數 enableAnalytics,可啟用或停用 Analytics 外掛程式。詳情請參閱設定參考資料

159571119 錯誤 在自訂外掛程式的 onerror_request 勾點中,因回應/通訊端逾時而發生空值錯誤。

修正了 onerror_request 事件的正確 HTTP 狀態碼和錯誤訊息,以及 onerror_response 事件的正確錯誤訊息。

3.1.7

我們在 2020 年 9 月 24 日 (星期四) 發布了 Edge Microgateway 的下列修正和強化功能。

元件版本:

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

微型閘道 core config 外掛程式 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 錯誤 同步器未儲存及擷取 jwk_public_keys 資料,並儲存在 Redis 中。

141659881 錯誤 無效目標憑證的錯誤處理程序會顯示誤導性錯誤回應。

142808699 錯誤 accesscontrol 外掛程式無法正確處理「allow」和「deny」區段。

微型閘道現在會正確處理「deny」部分,並遵守「allow」和「deny」部分的順序。微型閘道設定檔中新增了 noRuleMatchAction 屬性,可與 Apigee Edge AccessControl 政策保持一致。另請參閱 GitHub 上的存取權控管外掛程式 README

3.1.6

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

元件版本:

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

微型閘道 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 版之前,如果基本路徑未以 / 結尾,系統會錯誤比對 Proxy 基本路徑。

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

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

要求路徑 已解決路徑 結果
/hello/v1/json https://mocktarget.apigee.net/json 解析路徑正確,因為 /hello/v1 的 basepath 相符。
要求路徑 已解決路徑 結果
/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 設定。請參閱「config」。

162758808 錯誤 Redis 後端儲存空間的新配額設定

您可以使用下列設定,為配額指定 Redis 後端儲存空間。 詳情請參閱「使用 Redis 後端儲存空間做為配額」。

3.1.5

我們已於 2020 年 6 月 26 日 (星期五) 發布 Edge Microgateway 的下列修正和強化功能。

元件版本:

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

微型閘道 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 for Private Cloud) 未提取支援 Microgateway 的產品

修正了無法提取支援微型閘道的產品的問題。這個問題只會發生在 Edge for 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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-authedgemicro verify 指令就無法正常運作。
  • 151284716 - 重新載入時重新啟動工作人員後,系統會更快關閉伺服器連線。
  • 151588764 - 更新用於在 Docker 容器中執行 Edge Microgateway 的 Docker 映像檔中的 Node.js 版本,因為 Node.js 第 8 版已淘汰。
  • 151306049 - 說明文件已更新,列出 Edge Microgateway CLI 指令使用的 Apigee Edge 管理 API。請參閱「 Edge Microgateway 使用哪些管理 API?」。

3.1.1

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

元件版本:

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

微型閘道 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 設定,只會使用環境變數指定 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 代理層級設定目標 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 core config 外掛程式 edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

修正錯誤及提升效能:

  • 144187500 - 觸發 quotas.failOpen 旗標時,系統會記錄新的 WARN 層級事件。 如果發生配額處理錯誤,或「配額套用」要求無法更新 Edge 的遠端配額計數器,就會觸發這個標記。在這種情況下,系統只會根據本機計數處理配額,直到下次成功同步遠端配額為止。先前只有在記錄層級設為 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 變更時,進行中或新交易會受到影響的問題。現在,如果變更 Proxy,Edge Microgateway 會重新整理快取,並重新啟動工作站節點。這項異動不會影響微閘道正在處理的交易,以及傳送至微閘道的新 API 呼叫。
  • 146378327 - sourceRequesttargetRequesttargetResponse 的記錄層級已變更為 INFO 層級。
  • 146019878 - 已修正 Edge 數據分析中「API Proxy Performance」計算出的延遲時間,與 Edge Microgateway sourceResponse/targetResponse 記錄事件之間的差異。現在,Edge Analytics 和 Microgateway 記錄事件的延遲時間已保持一致。
  • 模式比對邏輯相關異動:
    • 147027862 - oauth 外掛程式已更新,可支援 API 產品中指定的下列資源路徑比對模式:
      • /{literal}**
      • /{literal}*
      • 上述兩種模式的任意組合

      這項變更後,Edge Microgateway 外掛程式現在會遵循與 Apigee Edge 相同的模式比對,詳情請參閱「設定 '/'、'/*' 和 '/**' 資源路徑的行為」。

    • 145644205 - Update pattern matching logic of apiKeys plugin to match oauth plugin.
  • 143488312 - 修正問題:用戶端 ID 參數開頭或結尾的空格,會導致 OAuth 權杖和 API 金鑰要求的 JWT 產品清單為空白。
  • 145640807 和 147579179 - 新增一項功能,可讓名為「同步器」的特殊 Edge Microgateway 執行個體從 Apigee Edge 擷取設定資料,並寫入本機 Redis 資料庫。然後,您可以設定其他微閘道執行個體,從資料庫讀取設定資料。這項功能可為 Edge Microgateway 增加一層復原能力。這樣一來,微型閘道執行個體就能啟動及運作,不必與 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 core config 外掛程式 edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

修正錯誤及提升效能:

  • 141989374 - 配額外掛程式新增「fail open」功能。 啟用這項功能後,如果發生配額處理錯誤,或向 Edge 發出的「套用配額」要求無法更新遠端配額計數器,系統會只根據本機計數處理配額,直到下次成功同步遠端配額為止。在這兩種情況下,要求物件中都會設定 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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 core config 外掛程式 edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

修正錯誤及提升效能:

  • 140025210 - 新增「fail open」功能。如果連線錯誤導致無法成功呼叫 edgemicro-auth Proxy,進而無法重新整理過期的 JWT 權杖,這項功能可讓 API 繼續處理。

    這項功能可讓您設定寬限期,舊權杖會保留在快取中,並在寬限期結束前重複使用。這項功能可讓 Edge Microgateway 在暫時連線失敗時繼續處理要求。連線恢復後,如果順利呼叫 Verify API Key,系統會擷取新的 JWT,並取代快取中的舊 JWT。

    如要設定新的「fail open」功能,請按照下列步驟操作:

    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 相關聯的個別元件專案版本號碼。請注意,由於每個元件都是獨立專案,發布編號可能與主要產品版本不一致:

微型閘道 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 代碼。

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

    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 - An Authorization header was added to quota calls to provide authentication. 此外,edgemicro-auth Proxy 也經過修改,從配額 ID 中移除「organization」。由於配額端點位於客戶的機構組織中,因此不再需要配額 ID。
  • 140823165 - The following property name:
    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 - Improve JWT key and secret-related log messages for these CLI commands: cert, verify, upgradekvm, token, genkeys, revokekeys, rotatekey, and configure.
逾時和連線遭拒錯誤訊息改善
  • 138413577 - Add and improve error handling for backend service timeouts.
  • 138413303 - 新增及改善回應和通訊端逾時的錯誤處理機制。
  • 138414116 - Add and improve error handling for "connection refused" errors.

3.0.4

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

  • 134445926 - 改善 Edge Microgateway 內部驗證。
  • 137582169 - 修正了啟動不必要程序的問題。額外程序導致外掛程式重新載入,並耗用過多記憶體。Edge Microgateway 現在會將程序數量維持在預期上限內。
  • 137768774 - Log message improvements:
    • 已清除交易 (要求) 記錄。
    • 視需要新增更多記錄訊息。
    • 將交易 (要求) 記錄訊息從控制台輸出內容移至相關記錄檔。
    • 更新主控台記錄,改用集中式記錄函式。
  • 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 - Change the supported Node.js versions for Edge Microgateway
    (Node.js supported versions: 8 and 12; versions 7, 9, and 11 are experimental)
  • 134751883 - Edge Microgateway 在負載下重新載入時會當機
  • 134518428 - 如果篩選器模式不正確,Edge Microgateway 的產品端點會傳回 5XX
  • 135113408 - Workers should restart if they terminate unexpectedly
  • 134945852 - tokenCacheSize 未用於 OAuth 外掛程式
  • 134947757 - 在 OAuth 外掛程式中設定 cacheTTL
  • 135445171 - OAuth 中的寬限期計算有誤
  • 使用 Edge Microgateway 安裝作業提供的 memored 模組
  • 135367906 - 安全性稽核

2.5.x 版

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

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

如果 JWT 格式不正確,使用權杖快取時可能會導致工作人員異常終止。已在 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 Microgateway」。

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

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

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

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

在 Edge Analytics 中區隔 API

(2.5.26 版新增) 您可以使用新的 Analytics 外掛程式標記區隔特定 API 路徑,讓該路徑在 Edge Analytics 資訊主頁中顯示為個別 Proxy。舉例來說,您可以區隔健康狀態檢查 API,避免與實際 API 呼叫混淆。詳情請參閱「從數據分析中排除路徑」。

設定本機 Proxy

(2025 年 2 月 5 日新增) 使用本機 Proxy 時,您不需要在 Apigee Edge 手動建立微閘道感知的 Proxy。微型閘道會改用本機 Proxy 的基本路徑。詳情請參閱「使用本機 Proxy 模式」。

使用獨立模式

(2.5.25 版新增) 您可以完全與任何 Apigee Edge 依附元件中斷連線,然後執行 Edge Microgateway。這種情境稱為獨立模式,可讓您在沒有網際網路連線的情況下執行及測試 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 支援

(2019 年 5 月 2 日新增) 您可以將 Edge Microgateway 部署為服務,或部署為服務前方的補充資訊閘道,這些服務部署在 Kubernetes 叢集中。請參閱:整合 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

「永久」監控的新 CLI 選項

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

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

範例:

如何開始使用「無限期」:

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

如要停止 Forever:

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

在 reload 指令中新增 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 的重新載入作業會導致當機。
  • (問題 #135) 使用 -v 選項時,出現無效的虛擬主機參照「安全」錯誤。這項修正會在部署前修改 edgemicro-auth Proxy,確保虛擬主機與「-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 權杖已針對 API Proxy 和 OAUTH 中的資源 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 audit)
  • edgemicro-auth Proxy 現在會使用 Edge JWT 政策。Proxy 不再依附於 Node.js 提供 JWT 支援。

2.4.x 版

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

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

您可以變更 edgemicro-auth Proxy 的預設基本路徑。根據預設,基本路徑為 /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. CLI 新增自訂設定路徑,用於 Private Cloud 設定 (PR 99)

根據預設,微閘道設定檔位於 ./config/config.yaml。 在 init、configure 和 start 指令中,您現在可以使用 -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:

第一個選項是在微型閘道設定檔中,將 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。例如:

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 都必須攜帶含有 Bearer 存取權杖的 Authorization 標頭。

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

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

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

9. 改善 edgemicro-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 configure 指令中使用下列參數:

-t, --token <token>

例如:

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

2.4.3 版修正的錯誤

  • 修正問題:必須使用付費機構才能正確執行 edgemicro-auth Proxy。現在,您也可以搭配試用機構使用 Edge Microgateway。(PR 5)
  • 修正串流尚未完成資料處理,但結束處理常式仍會執行的問題。因此只傳送了部分回應。(PR 71)
  • 修正系統無法辨識私有雲安裝的自訂設定目錄問題。(PR 110)
  • 修正用戶端與 Edge Microgateway 之間的雙向 SSL 問題。(PR 70)
  • 修正問題:API 金鑰驗證必須在 Proxy 基礎路徑加上尾端斜線,才能正常運作。現在,basepath 結尾不需要加上斜線。 (PR 48)

2.3.5 版本

新功能和強化項目 v.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

資料分析資料遮蓋

您可以使用新設定,防止 Edge Analytics 顯示要求路徑資訊。在微閘道設定中新增下列項目,遮蓋要求 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

根據預設,微型閘道設定檔位於 ./config/config.yaml。在 init、configure 和 start 指令中,您現在可以在指令列上指定自訂設定路徑。例如:

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

2.3.3 版修正的錯誤

  • 修正大型要求/回應期間發生的記憶體流失問題。
  • 修正外掛程式執行順序。現在的行為與說明文件所述一致。
  • 外掛程式不再會因 GET 要求而停止回應。
  • 修正 accumulate-response 外掛程式的問題,避免因缺少回應主體而導致錯誤。

版本 2.3.1

安裝注意事項

在舊版 Edge Microgateway 中,您可以下載 ZIP 檔案來安裝軟體。系統已不再支援這些 ZIP 檔案。如要安裝 Edge Microgateway,請使用:

npm install -g edgemicro

詳情請參閱安裝主題

新功能和強化項目 v.2.3.1

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

篩選 Proxy

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

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

舉例來說,假設 Edge 機構/環境中有 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 一律會以叢集模式啟動,且 edgemicro start 指令會移除 --cluster 選項。

此外,我們還新增了三項 CLI 指令。您必須從執行 edgemicro start 指令的相同目錄執行這些指令:

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

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

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

edgemicro:
    config_change_poll_interval: [seconds]

在 CLI 中新增版本資訊

CLI 中新增了 --version 標記。如要取得目前版本的 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

詳情請參閱安裝主題

新功能與強化項目 v.2.0.11

新功能和強化項目如下:

在啟動時指定通訊埠

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

選擇性保留授權標頭

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

可使用自訂授權服務

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

2.0.4 版

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

新功能和強化項目 v2.0.4

這個版本的新功能和強化功能如下。

支援產品中的資源路徑

Edge Microgateway 現在支援產品中的資源路徑。資源路徑可讓您根據 Proxy 路徑尾碼限制 API 存取權。如要瞭解如何建立產品及設定資源路徑,請參閱「建立 API 產品」。

支援 npm 全域安裝

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

2.0.0 版

Edge Microgateway v2.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 說明文件。

2.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 記錄的輪替間隔。

1.1.2 版修正的錯誤

1.1.2 版修正了下列錯誤。

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