您目前查看的是 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) 已強化,支援 更新後,外掛程式可根據動態或模式比對網址有條件排除。這項修改回溯相容,確保現有的靜態網址設定仍可正常運作,無須變更。 例如: 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) 分析資料包含 EMG 已更新,可自動為每筆 Analytics 記錄填入 |
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 已移除對 |
修正安全性問題
- 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 版。現在要建構版本為 |
修正安全性問題
無。
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 | 錯誤 |
修正嘗試為私有雲設定時, |
233315475 | 錯誤 |
修正問題: |
221432797 | 變更 |
基本 Edge Microgateway 映像檔的 Docker Node.js 版本已升級至 Node.js 14。 |
215748732 | 功能 |
revokekeys 指令新增 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 install apigeetool@0.15.1 我們會在日後推出的 Edge Microgateway 版本中解決這個問題。 |
138622990 | 功能 |
配額外掛程式的新標記 |
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 | 功能 |
|
192799989 | 功能 |
|
148062415 | 錯誤 | 修正問題:在 Docker 容器環境中,Edge Microgateway 無法使用 docker stop {containerId} 指令正常關閉。程序已終止,但 .sock 和 .pid 檔案未移除。現在檔案已移除,重新啟動相同容器的作業也正常運作。 |
190715670 | 錯誤 | 修正了部分要求在微閘道內部重新載入活動期間停滯的問題。這個問題是間歇性的,發生於流量較高的情況。
使用 OAuth 外掛程式的 tokenCache 和 cacheKey 功能時,會發生這個問題。 |
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 | 變更 |
權杖要求和權杖重新整理要求 API 現在會以秒為單位,傳回
為遵守
RFC 6749 OAuth 2.0 授權架構
, |
188492065 | 變更 |
停止支援 Node.js 8
自 3.2.2 版起,系統將不再支援 Node.js 8。詳情請參閱「支援的軟體和版本:Edge Microgateway」。 |
183990345 | 功能 |
設定 Docker 容器的記錄輸出
Edge Microgateway 設定參數 to_console 可讓您選擇將記錄資訊傳送至標準輸出,而非記錄檔。如果您按照步驟在 Docker 容器中執行 Edge Microgateway,容器預設會將 stdout 和錯誤輸出內容重新導向至容器中的
如要避免將記錄資訊傳送至 如要瞭解如何使用這項新變數,請參閱「使用 Docker 進行 Edge Microgateway」。 |
183057665 | 功能 |
讓 edgemicro.pid 和 edgemicro.sock 檔案路徑可設定。
使用 Edge Microgateway 執行 Docker 容器的新 |
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 金鑰值為空值時,應用程式會失敗的問題。
現在系統會處理空值條件,避免在 注意:如要套用這項修正,您必須升級 edgemicro-auth 代理程式。 |
179971737 | 錯誤 |
修正問題:目標 4XX / 5XX 狀態回應會記錄為 edgemicro_* Proxy 的 Proxy 錯誤。
在 Apigee Edge 錯誤代碼分析資訊主頁中,Edge Microgateway 交易顯示的目標錯誤計數有誤。系統會將目標錯誤的錯誤代碼計為 Proxy 錯誤。這項問題已修正,現在會顯示正確的目標錯誤計數。 |
179674670 | 功能 |
新增功能:可根據產品狀態代碼,篩選 JWT 中放置的 API 產品清單。
API 產品有三種狀態碼:「待處理」、「已核准」和「已撤銷」。
edgemicro-auth Proxy 的「Set JWT Variables」政策已新增名為
|
178423436 | 錯誤 |
透過 CLI 或環境變數傳遞的鍵和密鑰值,會顯示在程序探索器命令列引數中。
據報,啟動微型閘道後,從命令列引數傳遞或透過環境變數設定的 Edge Microgateway 金鑰和密碼值,會顯示在節點工作站/子程序的引數中。 如要修正環境變數情境的問題,值不會再顯示於程序探索器指令列引數中。 如果在啟動微型閘道時,透過指令列傳遞金鑰和密鑰值,這些設定會取代所有環境變數值 (如有設定)。在這種情況下,這些值仍會顯示在程序探索工具的指令列引數中。 |
178341593 | 錯誤 |
修正 apikeys 外掛程式的說明文件錯誤。
apikeys 外掛程式的 README 檔案錯誤地包含
|
179366445 | 錯誤 |
修正了酬載遭捨棄的問題,此問題會影響傳送至目標的所有 GET 要求。
您可以使用新的設定參數 例如: 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 端點使用正確的時間單位。
修正了
修正後,到期時間長度不會改變,只會變更時間單位。這項限制只適用於存取權杖回應酬載中的 如果用戶端依賴以毫秒為單位的 如果用戶端一律使用 JWT 權杖中的值評估權杖重新整理週期,則用戶端應不需要變更。 |
173064680 | 錯誤 | 修正微型閘道在處理所有資料區塊前,就結束目標要求的問題。
這是高酬載大小要求中觀察到的間歇性問題,此問題是在 3.1.7 版中導入。 |
174640712 | 錯誤 | 在外掛程式中加入適當的資料處理方式。
下列外掛程式已新增適當的資料處理方式: |
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 | 錯誤 | 環境變數標記中的數值和布林值剖析有誤。
環境變數替換處理程序會將所有值剖析為字串,導致布林值或數值出現剖析錯誤。舉例來說, |
169202749 | 錯誤 | 在某些情況下,環境變數取代功能無法運作。
環境變數替換處理作業無法用於部分設定屬性。如要瞭解限制,請參閱使用環境變數值設定設定屬性。 |
168732942 | 錯誤 | 修正 OAuth 範圍無法如預期限制 API Proxy 存取權的問題。
在兩種不同情況下,edgemicro-auth 代理程式中的 |
170609716 | 錯誤 | 修正問題:edgemicro-auth Proxy 中的 /refresh 流程產生 JWT 時沒有 apiProductList 。
|
170708611 | 錯誤 | 自訂外掛程式無法使用 API 產品範圍。
API 產品範圍未提供給自訂外掛程式,也未寫入快取設定檔。請參閱「 關於外掛程式 init() 函式」,瞭解如何讓外掛程式存取範圍詳細資料。 |
169810710 | 功能 | 金鑰和密鑰會儲存在快取設定檔中。
每次重新載入/啟動時,Edge Microgateway 金鑰和密鑰都會儲存在快取設定 yaml 檔案中。在 3.1.8 版中,金鑰和密鑰不再儲存在快取設定檔中。如果先前已將金鑰和密碼寫入快取設定檔,系統會移除這些項目。 |
170708621 | 功能 | 無法停用數據分析外掛程式。
在舊版微型閘道中,分析外掛程式預設為啟用,且無法停用。3.1.8 版導入了新的設定參數 |
159571119 | 錯誤 | 在自訂外掛程式的 onerror_request 勾點中,因回應/通訊端逾時而發生空值錯誤。
修正了 |
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」部分的順序。微型閘道設定檔中新增了 |
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 版之前,如果基本路徑未以 以下進一步說明先前的行為 (已在 3.1.6 版中修正):
假設 Proxy 設定的基本路徑為
|
||||||||||||
160431789 | 錯誤 | 自訂外掛程式 - 傳遞至 init 的設定物件未填入資料
與 Edge Microgateway 設定檔合併後,所有自訂外掛程式的設定物件都會提供 Apigee Edge 設定。請參閱「config」。 |
||||||||||||
162758808 | 錯誤 | Redis 後端儲存空間的新配額設定
您可以使用下列設定,為配額指定 Redis 後端儲存空間。 詳情請參閱「使用 Redis 後端儲存空間做為配額」。 |
3.1.5
我們已於 2020 年 6 月 26 日 (星期五) 發布 Edge Microgateway 的下列修正和強化功能。
:依自訂屬性篩選產品 (新功能)、KVM 升級和金鑰輪替。如果沒有升級 Proxy,其他指令或作業不會受到影響。元件版本:
下表列出與 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: true
或quotaUri: https://%s-%s.apigee.net/edgemicro-auth
,edgemicro 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_PROXY
和HTTPS_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 -
sourceRequest
、targetRequest
和targetResponse
的記錄層級已變更為 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.
- 147027862 - oauth 外掛程式已更新,可支援 API 產品中指定的下列資源路徑比對模式:
- 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 的開發人員應用程式中加入該產品,如下列螢幕截圖所示:注意: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」功能,請按照下列步驟操作:
- 在 Edge Microgateway 設定檔的
oauth
節中設定下列屬性:oauth: failOpen: true failopenGraceInterval: time_in_seconds cacheKey: true ...
例如:
oauth: failOpen: true failopenGraceInterval: 5 cacheKey: true ...
在本例中,如果連線問題導致無法重新整理,系統會使用舊權杖 5 秒。5 秒後,系統會傳回驗證錯誤。
- 在 Edge Microgateway 設定檔的
- 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 - 新增功能:可為事件和系統記錄新增
trace
和debug
記錄層級。目前僅新增了新增這些記錄層級的功能。目前可用的記錄層級為info
、warn
和error
。 - 139064616 - 所有控制台記錄陳述式的記錄輸出內容都已標準化。主控台記錄陳述式現在包含下列屬性:
- 時間戳記
- 元件名稱
- 程序 ID
- 控制台記錄訊息
- 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-config
、microgateway-core
、microgateway-plugins
和 microgateway
。所有程式碼品質有變更的模組,都已透過內部工具進行測試,確認 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 已更新。詳情請參閱下列連結:
- 選項 A:將外掛程式目錄掛接至磁碟區 (新)
- 方法 B:將外掛程式建構至容器中 (已更新)
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, --action | start 或 stop 。預設值為 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/members 和 https://[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_tunnel 為 true,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_PROXY、HTTPS_PROXY 和 NO_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.targetPort 和 req.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-1
、edgemicro_proxy-2
和 edgemicro_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.targetHostname 和 req.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_foo
和 edgemicro_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 新選項
除了 key
和 cert
之外,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 錯誤。 |
修正憑證邏輯依附元件參照。 |