提供意見
Apigee 的已知問題
您正在查看 Apigee Edge 說明文件。
請參閱 Apigee X 說明文件 。 info
以下各節說明 Apigee 的已知問題。在大多數情況下,我們會在日後的版本中修正上述問題。
Edge 其他已知問題
以下各節說明 Edge 的各種已知問題。
區域/摘要
已知問題
快取過期導致 cachehit
值不正確
當 cachehit
資料流變數在 LookupCache 政策後使用時,由於偵錯點會以非同步行為方式調度,LookupPolicy 會在執行回呼之前填入 DebugInfo 物件,導致發生錯誤。
解決方法: 在第一次呼叫後,立即重複該程序 (進行第二次呼叫)。
將 InvalidateCache Policy PurgeChildEntries
設為 true 無法正常運作
在 InvalidateCache 政策中設定 PurgeChildEntries
應只清除 KeyFragment
元素值,但會清除整個快取。
解決方法: 使用 KeyValueMapOperations 政策 執行快取版本化作業,並略過快取失效的必要性。
針對 SharedFlow 或 API proxy 提出的並行部署要求,可能會導致管理伺服器中的狀態不一致,顯示多個已部署的修訂版本。
舉例來說,如果 CI/CD 部署管道同時執行不同修訂版本,就可能發生這種情況。為避免這個問題,請勿在目前部署作業完成前,部署 API Proxy 或 SharedFlow。
解決方法: 避免同時部署 API Proxy 或 SharedFlow。
Edge API Analytics 中顯示的 API 呼叫次數可能包含重複資料。
Edge API Analytics 有時會包含 API 呼叫的重複資料。在這種情況下,Edge API Analytics 中顯示的 API 呼叫計數會高於第三方分析工具中顯示的類似值。
解決方法: 匯出 Analytics 資料 ,然後使用 gateway_flow_id 欄位來移除資料重複項目。
Edge UI 的已知問題
以下各節說明 Edge UI 的已知問題。
整合式入口網站的已知問題
以下各節說明整合式入口網站的已知問題。
區
已知問題
SmartDocs
在您使用規格編輯器建立規格 ,以及在入口網站上發布 API 時,Apigee Edge 支援 OpenAPI 規範 3.0,但部分功能尚未支援。舉例來說,OpenAPI 規格 3.0 的下列功能尚未支援:
allOf
屬性,用於合併和擴充結構定義
遠端參照
如果 OpenAPI 規格中參照了未支援的功能,在某些情況下,工具會忽略該功能,但仍會轉譯 API 參考資料文件。在其他情況下,不支援的功能會導致錯誤,導致無法順利轉譯 API 參考文件。無論是哪種情況,您都必須修改 OpenAPI 規格,避免使用不支援的功能,直到日後的版本支援為止。
注意 :規格編輯器在轉譯 API 參考說明文件時,限制較 SmartDocs 少,因此您可能會發現兩者產生的結果不同。
在入口網站中使用「Try this API」時,無論 OpenAPI 規格中 consumes
的值為何,Accept
標頭都會設為 application/json
。
138438484:系統不支援
多個伺服器 。
SAML 識別資訊提供者
自訂網域不支援使用 SAML 識別資訊提供者的單一登出 (SLO) 功能。如要啟用 SAML 識別資訊提供者的自訂網域,請在設定 SAML 設定 時,將「Sign-out URL」 欄位留空。
入口網站管理員
目前不支援多位使用者同時更新入口網站 (例如網頁、主題、CSS 或指令碼編輯)。
如果從入口網站刪除 API 參考說明文件頁面,就無法重新建立該頁面;您必須刪除並重新新增 API 產品,然後重新產生 API 參考說明文件。
設定內容安全性政策 時,變更可能需要最多 15 分鐘才會完全生效。
自訂入口網站主題 時,變更內容最多可能需要 5 分鐘才能完全套用。
入口網站功能
我們會在日後的版本中將搜尋功能整合至整合式入口網站。
Edge for Private Cloud 的已知問題
以下各節說明 Edge for Private Cloud 的已知問題。
區
已知問題
Edge for Private Cloud 4.53.01
443272053:邊緣元件中的 Datastore 錯誤
在 Edge for Private Cloud 4.53.00 以上版本中,Cassandra 與應用程式元件 (管理伺服器、訊息處理器或路由器) 之間的特定類型互動可能會導致資料儲存區錯誤。發生這類錯誤時,您會在特定應用程式元件的系統記錄中,看到下列模式的記錄:
com.datastax.driver.core.exceptions.ProtocolError: An unexpected protocol error occurred on host /WW.XX.YY.ZZ:9042.
這類錯誤的發生原因,是 Cassandra 資料庫產生警告,但應用程式元件無法處理。如要減輕影響,請避免或抑制 Cassandra 節點中的警告。警告通常是因為墓碑過多而產生。如要解決與墓碑過多相關的警告,請按照下列一或多個選項操作:
減少 gc_grace_seconds
:針對與錯誤相關的記錄訊息中顯示的表格,請透過 cqlsh 執行下列指令,減少 gc_grace_seconds:
# Below command sets gc_grace_seconds of kms.oauth_20_access_tokens to 1 day from default 10 days ALTER TABLE kms.oauth_20_access_tokens WITH gc_grace_seconds = '86400';
注意: 降低 gc_grace_seconds
可能需要一段時間才會生效。
提高 Cassandra 中的墓碑門檻,以產生警告。請按照下列指示操作:
在 Cassandra 節點上,建立或編輯檔案 $APIGEE_ROOT/customer/application/cassandra.properties
將墓碑警告門檻從預設的 1 萬提高至 10 萬,或視需要設定較大的值,方法是加入下列程式碼行:conf_cassandra_tombstone_warn_threshold=100000
確認上述檔案是由 apigee 使用者擁有且可讀取:chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
在節點上重新啟動 Cassandra 應用程式:apigee-service apigee-cassandra restart
在每個 Cassandra 節點上逐一重複上述步驟。
42733857:更新加密鍵值對應 (KVM) 時發生延遲
使用含有大量項目的加密鍵/值對應 時,無論是透過管理 API 或 KeyValueMapOperations 政策中的 PUT 元素新增或更新項目,使用者都可能會遇到延遲問題。一般來說,效能影響程度與儲存在加密 KVM 中的項目總數成正比。
為減輕這個問題的影響,建議使用者避免建立含有大量項目的加密 KVM。可行的解決方案是將大型 KVM 分割為多個較小的 KVM。此外,如果使用案例允許,遷移至未加密的 KVM 也是有效的緩解策略。請注意,Apigee 已發現這個問題,並計畫在日後的修補程式中修正。
Java 呼叫
如果客戶 Java 呼叫嘗試使用「BC」名稱載入 Bouncy Castle 密碼編譯供應商,可能會失敗,因為預設供應商已變更為 Bouncy Castle FIPS,以支援 FIPS。新的供應商名稱為「BCFIPS」 。
Edge for Private Cloud 4.53.00
443272053:邊緣元件中的 Datastore 錯誤
在 Edge for Private Cloud 4.53.00 以上版本中,Cassandra 與應用程式元件 (管理伺服器、訊息處理器或路由器) 之間的特定類型互動可能會導致資料儲存區錯誤。發生這類錯誤時,您會在特定應用程式元件的系統記錄中,看到下列模式的記錄:
com.datastax.driver.core.exceptions.ProtocolError: An unexpected protocol error occurred on host /WW.XX.YY.ZZ:9042.
發生這類錯誤的原因是 Cassandra 資料庫產生警告,但應用程式元件無法處理。為減輕影響,請避免或抑制 Cassandra 節點中的警告。警告通常是因為墓碑過多而產生。如要解決與墓碑過多相關的警告,請按照下列一或多個選項操作:
減少 gc_grace_seconds
:針對與錯誤相關的記錄訊息中顯示的表格,請透過 cqlsh 執行下列指令,減少 gc_grace_seconds:
# Below command sets gc_grace_seconds of kms.oauth_20_access_tokens to 1 day from default 10 days ALTER TABLE kms.oauth_20_access_tokens WITH gc_grace_seconds = '86400';
注意: 降低 gc_grace_seconds
可能需要一段時間才會生效。
提高 Cassandra 中的墓碑門檻,以產生警告。請按照下列指示操作:
在 Cassandra 節點上,建立或編輯檔案 $APIGEE_ROOT/customer/application/cassandra.properties
將墓碑警告門檻從預設的 1 萬提高至 10 萬,或視需要設定較大的值,方法是加入下列程式碼行:conf_cassandra_tombstone_warn_threshold=100000
確認上述檔案是由 apigee 使用者擁有且可讀取:chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
在節點上重新啟動 Cassandra 應用程式:apigee-service apigee-cassandra restart
在每個 Cassandra 節點上逐一重複上述步驟。
42733857:更新加密鍵值對應 (KVM) 時發生延遲
使用含有大量項目的加密鍵/值對應 時,無論是透過管理 API 或 KeyValueMapOperations 政策中的 PUT 元素新增或更新項目,使用者都可能會遇到延遲問題。一般來說,效能影響程度與儲存在加密 KVM 中的項目總數成正比。
為減輕這個問題的影響,建議使用者避免建立含有大量項目的加密 KVM。可行的解決方案是將大型 KVM 分割為多個較小的 KVM。此外,如果使用案例允許,遷移至未加密的 KVM 也是有效的緩解策略。請注意,Apigee 已發現這個問題,並計畫在日後的修補程式中修正。
412696630:無法在啟動時載入金鑰儲存區
edge-message-processor
或 edge-router
元件可能會在啟動時間歇性無法載入一或多個金鑰儲存區,導致 API Proxy 或虛擬主機使用金鑰儲存區時發生流量錯誤。
如要減輕這類影響,請採取下列措施:
在訊息處理器節點中,新增或編輯 $APIGEE_ROOT/customer/application/message-processor.properties
檔案
新增屬性 conf_deployment_bootstrap.executor.thread.count=1
儲存檔案,並確認檔案可讀取,且由 apigee 使用者 chown apigee:apigee $APIGEE_ROOT/customer/application/message-processor.properties
擁有
重新啟動訊息處理器服務 apigee-service edge-message-processor restart
針對每個訊息處理器節點逐一重複上述步驟。
在路由器節點中,新增或編輯檔案 $APIGEE_ROOT/customer/application/router.properties
新增屬性 conf_deployment_bootstrap.executor.thread.count=1
儲存檔案,並確認檔案可讀取,且擁有者為 apigee 使用者 chown apigee:apigee $APIGEE_ROOT/customer/application/router.properties
。
重新啟動路由器服務 apigee-service edge-router restart
。
針對每個路由器節點逐一重複上述步驟。
注意: 這是暫時的緩解措施,可能會減緩訊息處理器或路由器啟動的速度 (啟動後,元件的實際運作不會受到影響)。Apigee 將在日後的修補程式版本中修正這個錯誤。
Java 呼叫
如果客戶 Java 呼叫嘗試使用「BC」名稱載入 Bouncy Castle 密碼編譯供應商,可能會失敗,因為預設供應商已變更為 Bouncy Castle FIPS,以支援 FIPS。新的供應商名稱為「BCFIPS」 。
Edge for Private Cloud 4.52.01 Mint 更新
只有在 Edge for Private Cloud 安裝作業中使用 MINT 或啟用 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
升級注意事項: 這個已知問題已在 4.52.01.01 修補程式版本中修正。建議在 Edge for Private Cloud 中使用 MINT 的客戶升級至 4.52.01.01 版,以免發生這個問題。
Apigee HTTP/2 漏洞
最近在多個 HTTP/2 通訊協定實作項目中發現阻斷服務 (DoS) 安全漏洞 (CVE-2023-44487),包括 Apigee Edge for Private Cloud。這項漏洞可能會導致 Apigee API 管理功能發生 DoS 攻擊。詳情請參閱 Apigee 安全性公告 GCP-2023-032 。
Edge for Private Cloud 路由器 和管理伺服器 元件會公開至網際網路,因此可能存在安全漏洞。雖然 HTTP/2 已在 Edge for Private Cloud 的其他 Edge 特定元件管理連接埠上啟用,但這些元件都不會公開至網際網路。在 Cassandra、Zookeeper 等非 Edge 元件上,HTTP/2 不會啟用。建議您採取下列步驟,解決 Edge for Private Cloud 安全漏洞:
如果您使用的是 Edge Private Cloud 4.51.00.11 以上版本,請按照下列步驟操作:
更新管理伺服器:
在每個管理伺服器節點上,開啟 /opt/apigee/customer/application/management-server.properties
在屬性檔案中新增下列這行程式碼:
conf_webserver_http2.enabled=false
重新啟動管理伺服器元件:
apigee-service edge-management-server restart
更新訊息處理器:
在每個訊息處理器節點上,開啟 /opt/apigee/customer/application/message-processor.properties
在屬性檔案中新增下列這行程式碼:
conf_webserver_http2.enabled=false
重新啟動訊息處理器元件:
apigee-service edge-message-processor restart
更新路由器:
在每個路由器節點上,開啟 /opt/apigee/customer/application/router.properties
在屬性檔案中新增下列這行程式碼:
conf_webserver_http2.enabled=false
重新啟動訊息處理器元件:
apigee-service edge-router restart
更新 QPID:
在每個 QPID 節點上,開啟 /opt/apigee/customer/application/qpid-server.properties
在屬性檔案中新增下列這行程式碼:
conf_webserver_http2.enabled=false
重新啟動訊息處理器元件:
apigee-service edge-qpid-server restart
更新 Postgres:
在每個 Postgres 節點上,開啟 /opt/apigee/customer/application/postgres-server.properties
在屬性檔案中新增下列這行程式碼:
conf_webserver_http2.enabled=false
重新啟動訊息處理器元件:
apigee-service edge-postgres-server restart
如果使用的 Edge for Private Cloud 版本舊於 4.51.00.11,請按照下列步驟操作:
更新管理伺服器:
在每個管理伺服器節點上,開啟 /opt/apigee/customer/application/management-server.properties
在屬性檔案中新增下列兩行:
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
重新啟動管理伺服器元件:
apigee-service edge-management-server restart
更新訊息處理器:
在每個訊息處理器節點上,開啟 /opt/apigee/customer/application/message-processor.properties
在屬性檔案中新增下列兩行:
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
重新啟動訊息處理器元件:
apigee-service edge-message-processor restart
更新路由器:
在每個路由器節點上,開啟 /opt/apigee/customer/application/router.properties
在屬性檔案中新增下列兩行:
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
重新啟動訊息處理器元件:
apigee-service edge-router restart
更新 QPID:
在每個 QPID 節點上,開啟 /opt/apigee/customer/application/qpid-server.properties
在屬性檔案中新增下列兩行:
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
重新啟動訊息處理器元件:
apigee-service edge-qpid-server restart
更新 Postgres:
在每個 Postgres 節點上,開啟 /opt/apigee/customer/application/postgres-server.properties
在屬性檔案中新增下列兩行:
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
重新啟動訊息處理器元件:
apigee-service edge-postgres-server restart
升級注意事項: 將舊版 Private Cloud 升級至 4.51.00.11 以上版本後,您可以從上述每個檔案中移除第二行「conf/webserver.properties+http2.enabled=false」,然後重新啟動對應的元件。
更新至 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。
注意: 如果不按照這個解決方法操作,Postgres 升級作業可能會失敗。如果發生這種情況,請使用 PG 待命或還原 PG 或 VM 備份,回溯至可正常運作的版本,然後按照解決方法中的步驟再次執行升級。
LDAP 政策
149245401:透過 LDAP 資源 設定的 JNDI LDAP 連線集區設定不會反映,且 JNDI 預設值每次都會導致單次使用的連線。因此,每次使用時都會開啟及關閉連線,導致每小時與 LDAP 伺服器的連線數過多。
解決方法:
如要變更 LDAP 連線集區屬性,請按照下列步驟,為所有 LDAP 政策設定全域變更。
如果設定屬性檔案不存在,請建立一個:
/opt/apigee/customer/application/message-processor.properties
將下列內容加入檔案 (根據 LDAP 資源設定需求,取代 Java 命名目錄介面 (JNDI) 屬性的值)。
bin_setenv_ext_jvm_opts="-Dcom.sun.jndi.ldap.connect.pool.maxsize=20
-Dcom.sun.jndi.ldap.connect.pool.prefsize=2
-Dcom.sun.jndi.ldap.connect.pool.initsize=2
-Dcom.sun.jndi.ldap.connect.pool.timeout=120000
-Dcom.sun.jndi.ldap.connect.pool.protocol=ssl"
請確認檔案 /opt/apigee/customer/application/message-processor.properties
的擁有者為 apigee:apigee。
重新啟動每個訊息處理器。
如要確認連線集區 JNDI 屬性是否生效,可以執行 tcpdump,觀察 LDAP 連線集區的行為。
注意:
上述程序指定的連線集區屬性是全域屬性,因此適用於 Edge 訊息處理器建立的所有啟用連線集區的 LDAP 連線。
要求處理延遲時間過長
139051927:訊息處理器中發現 Proxy 處理延遲時間過長,影響所有 API Proxy。徵兆包括處理時間比正常 API 回應時間多出 200 到 300 毫秒,即使 TPS 較低,也可能隨機發生。如果郵件處理器連線的目標伺服器超過 50 個,就可能發生這種情況。
根本原因:
訊息處理器會保留快取,將目標伺服器網址對應至 HTTPClient 物件,以連線至目標伺服器。這項設定的預設值為 50,對大多數部署作業來說可能過低。如果部署作業在設定中有多個機構/環境組合,且目標伺服器總數超過 50 個,目標伺服器網址就會持續從快取中逐出,導致延遲。
驗證:
如要判斷目標伺服器網址逐出是否導致延遲問題,請在 Message Processor system.logs 中搜尋關鍵字「onEvict」或「Eviction」。記錄中出現這些項目,表示目標伺服器網址因快取大小過小,而從 HTTPClient 快取中遭到清除。
解決方法:
如果是 Edge for Private Cloud 19.01 和 19.06 版,您可以編輯及設定 HTTPClient 快取,/opt/apigee/customer/application/message-processor.properties
:
conf/http.properties+HTTPClient.dynamic.cache.elements.size=500
然後重新啟動訊息處理工具。對所有訊息處理器進行相同變更。
例如值為 500。設定的最佳值應大於訊息處理器連線的目標伺服器數量。將這項屬性設為較高的值不會產生任何副作用,唯一影響是改善訊息處理器 Proxy 請求的處理時間。
注意: Edge for Private Cloud 50.00 版的預設設定為 500。
鍵/值對應的多個項目
157933959:如果同時插入及更新鍵/值對應 (KVM),且範圍限定在機構或環境層級,就會導致資料不一致,並遺失更新。
注意: 這項限制僅適用於 Edge for Private Cloud。公有雲和混合雲的 Edge 則不受此限。
如要解決 Edge for Private Cloud 的問題,請在 apiproxy
範圍 建立 KVM。
提供意見
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權 ,程式碼範例則為阿帕契 2.0 授權 。詳情請參閱《Google Developers 網站政策 》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-09-15 (世界標準時間)。
想進一步說明嗎?
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-15 (世界標準時間)。"],[],[],null,[]]