您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
以下各節說明 Apigee 的已知問題。在大多數情況下,我們會在日後的版本中修正上述問題。
Edge 其他已知問題
以下各節說明 Edge 的各種已知問題。
區 | 已知問題 |
---|---|
快取過期導致 cachehit 值不正確 |
當 解決方法:在第一次呼叫後,立即重複該程序 (進行第二次呼叫)。 |
將 InvalidateCache Policy PurgeChildEntries 設為 true 無法正常運作 |
在 InvalidateCache 政策中設定 解決方法:使用 KeyValueMapOperations 政策來執行快取版本化作業,並略過快取失效的必要性。 |
針對 SharedFlow 或 API proxy 提出的並行部署要求,可能會導致管理伺服器中的狀態不一致,顯示多個已部署的修訂版本。 |
舉例來說,如果 CI/CD 部署管道同時使用不同修訂版本執行,就可能發生這種情況。為避免這個問題,請勿在目前部署作業完成前,部署 API Proxy 或 SharedFlow。 解決方法:避免同時部署 API Proxy 或 SharedFlow。 |
Edge UI 的已知問題
以下各節說明 Edge UI 的已知問題。
領域 | 已知問題 |
---|---|
機構對應至身分識別區域後,就無法再透過導覽列存取 Edge SSO 區域管理頁面 | 將機構連結至身分區域後,您就無法從左側導覽列依序選取「管理員」>「單一登入」(SSO) 來存取 Edge SSO 區域管理頁面。如要解決這個問題,請直接使用以下網址前往頁面:https://apigee.com/sso |
整合式入口網站的已知問題
以下各節說明整合式入口網站的已知問題。
區 | 已知問題 |
---|---|
SmartDocs |
|
SAML 識別資訊提供者 | 自訂網域不支援使用 SAML 識別資訊提供者的單一登出 (SLO) 功能。如要啟用 SAML 識別資訊提供者的自訂網域,請在設定 SAML 設定時,將「Sign-out URL」欄位留空。 |
入口網站管理員 | |
入口網站功能 |
|
Edge for Private Cloud 的已知問題
以下各節說明 Edge for Private Cloud 的已知問題。
區 | 已知問題 |
---|
Edge for Private Cloud 4.52.02 和 4.53.00 |
使用 SetOauthV2Info 政策時,如果 AccessToken 無法解析為變數或為空值,政策就會導致資料儲存庫錯誤: { "fault": { "faultstring": "Error while accessing datastore;Please retry later", "detail": { "errorcode": "datastore.ErrorWhileAccessingDataStore" } } } 這項行為與先前 Apigee 版本不同,在先前版本中,這類情況會觸發 { "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
為避免這種情況發生,請在 Proxy 中新增 RaiseFault 政策,模擬舊版錯誤訊息。當存取權杖變數為空值時,系統可以執行這項 RaiseFault 政策。請參考以下範例: <!-- Sample Raise Fault Policy ---> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RaiseFault async="false" continueOnError="false" enabled="true" name="RaiseFault-MissingAccessToken"> <DisplayName>RaiseFault-MissingAccessToken</DisplayName> <Properties/> <FaultResponse> <Set> <Headers/> <Payload contentType="application/json">{"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_access_token"}}}</Payload> <StatusCode>500</StatusCode> <ReasonPhrase>Internal Server Error</ReasonPhrase> </Set> </FaultResponse> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </RaiseFault> 您可以在 Proxy 流程中的 SetOauthV2Info 政策前,依條件新增 RaiseFault 政策,如以下範例所示:
<Step> <!-- Execute RaiseFault policy if access_token flow variable is null --> <Condition>access_token = null</Condition> <Name>RaiseFault-MissingAccessToken</Name> </Step> <Step> <!-- Execute SetOAuthV2Info policy if access_token flow variable is null --> <Condition>access_token != null</Condition> <Name>SetOAuthV2Info</Name> </Step> Apigee 將發布修補程式,為 Edge For Private Cloud 版本 4.52.02 和 4.53.00 還原上述行為。 |
Edge for Private Cloud 4.52.02 更新 |
將 Edge for Private Cloud 從 4.51.00、4.52.00 或 4.52.01 更新至 4.52.02 時,執行階段和管理 API 可能會受到額外影響。 這項影響會在 Cassandra 節點更新後發生,並持續到所有訊息處理器和管理伺服器節點都更新為止。 發生這種情況時,請留意下列其中一個方面:
Apigee 會針對 Edge for Private Cloud 4.52.02 發布修訂版更新說明文件,以解決這個問題。 |
Edge for Private Cloud 4.52.01 修補程式更新 |
這個問題只會影響使用 MINT 或在 Edge for Private Cloud 安裝作業中啟用 MINT 的使用者。 受影響的元件:edge-message-processor 問題:如果您已啟用營利功能,並要安裝 4.52.01 做為全新安裝或從先前的 Private Cloud 版本升級,就會遇到訊息處理器問題。開啟的執行緒數量會逐漸增加,導致資源耗盡。在 edge-message-processor system.log 中,您會看到下列例外狀況: Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread |
Apigee HTTP/2 安全漏洞 | 我們最近在多個 HTTP/2 通訊協定 (CVE-2023-44487) 實作中發現阻斷服務 (DoS) 安全漏洞,包括 Apigee Edge for Private Cloud。這個漏洞可能會導致 Apigee API 管理功能遭到阻斷服務攻擊。詳情請參閱 Apigee 安全性公告 GCP-2023-032。 Edge for Private Cloud 的路由器和管理伺服器元件會暴露在網際網路上,因此可能會遭到入侵。雖然 Edge for Private Cloud 的其他 Edge 專屬元件的管理端口已啟用 HTTP/2,但這些元件都不會公開給網際網路。在 Cassandra、Zookeeper 和其他非 Edge 元件上,系統不會啟用 HTTP/2。建議您採取下列步驟來解決 Edge for Private Cloud 的安全漏洞: 如果您使用的是 Edge Private Cloud 4.51.00.11 以上版本,請按照下列步驟操作:
如果您使用的是 4.51.00.11 以下版本的 Edge for Private Cloud,請按照下列步驟操作:
|
更新至 4.52 版時的 Postgresql 升級程序 | Apigee-postgresql 在從 Edge for Private Cloud 4.50 或 4.51 版升級至 4.52 版時發生問題。這類問題主要發生在資料表數量超過 500 個時。 您可以執行下列 SQL 查詢,查看 Postgres 中的資料表總數: select count(*) from information_schema.tables 解決方法: 更新 Apigee Edge 4.50.00 或 4.51.00 至 4.52.00 時,請務必先執行 初步步驟,再升級 Apigee-postgresql。 |
LDAP 政策 | 149245401:透過 LDAP 資源設定的 JNDI 無法反映 LDAP 連線集區設定,且 JNDI 預設值會導致每次都產生單次使用連線。因此,每次使用時都會開啟和關閉連線,每小時會建立大量連線至 LDAP 伺服器。 解決方法: 如要變更 LDAP 連線集區屬性,請按照下列步驟設定所有 LDAP 政策的全域變更。
如要確認連線集區 JNDI 屬性是否生效,您可以執行 tcpdump,觀察 LDAP 連線集區隨時間變化的行為。 |
要求處理時間過長 | 139051927:訊息處理器中發現 Proxy 處理延遲時間過長,影響所有 API Proxy。症狀包括處理時間比正常 API 回應時間延遲 200 到 300 毫秒,即使 TPS 很低也可能隨機發生。當郵件處理器連線的目標伺服器超過 50 個時,就可能發生這種情況。 根本原因:訊息處理工具會保留快取,將目標伺服器網址對應至 HTTPClient 物件,以便建立至目標伺服器的傳出連線。這項設定的預設值為 50,但對於大多數部署作業而言,這可能太低。如果部署作業在設定中包含多個組織/環境組合,且目標伺服器的總數超過 50 個,則目標伺服器網址會不斷從快取中移除,導致延遲。 驗證:如要判斷是否是目標伺服器網址淘汰導致延遲問題,請在 Message Processor 系統.log 檔案中搜尋「onEvict」或「Eviction」關鍵字。這些訊息出現在記錄中,表示目標伺服器網址因快取大小太小而從 HTTPClient 快取中剔除。 解決方法:如果是 Edge for Private Cloud 19.01 和 19.06 版本,您可以編輯及設定 HTTPClient 快取, conf/http.properties+HTTPClient.dynamic.cache.elements.size=500 然後重新啟動訊息處理工具。對所有訊息處理器進行相同的變更。 值為 500 就是一個例子。設定的最佳值應大於訊息處理工具要連線的目標伺服器數量。將這項屬性設為較高的值不會有任何副作用,唯一的影響是可改善訊息處理程序的代理要求處理時間。
注意:Edge for Private Cloud 50.00 版的預設設定為 500。 |
鍵/值對應的多個項目 | 157933959:對同一個鍵/值對應 (KVM) 並行插入及更新,且範圍限定為機構或環境層級,會導致資料不一致,且更新內容遺失。 注意:這項限制僅適用於 Edge for Private Cloud。Edge for Public Cloud 和 Hybrid 則沒有這項限制。 如要使用 Edge for Private Cloud 的解決方法,請在 |