发送反馈
Apigee 的已知问题
您正在查看 Apigee Edge 文档。
转到 Apigee X 文档 。 信息
以下各部分介绍了 Apigee 的已知问题。在大多数情况下,列出的问题会在未来的版本中更正。
Miscellaneous Edge 已知问题
以下部分介绍了 Edge 的其他已知问题。
领域
已知问题
缓存过期导致 cachehit
值不正确
如果在 LookupCache 政策之后使用 cachehit
流变量,由于为异步行为分派调试点的方式,LookupPolicy 会在执行回调之前填充 DebugInfo 对象,从而导致错误。
权宜解决方法 :在第一次调用后立即再次重复该过程(进行第二次调用)。
将 InvalidateCache 政策 PurgeChildEntries
设置为 true 无法正常工作
在 InvalidateCache 政策中设置 PurgeChildEntries
应仅完全清除 KeyFragment
元素值,但会清除整个缓存。
权宜解决方法 :使用 KeyValueMapOperations 政策 迭代缓存版本控制,并避免缓存失效。
Known issues with the Edge UI
The following sections describe the known issues with the Edge UI.
Area
Known issues
Can't access Edge SSO Zone Administration page from navigation bar after organization is mapped to an identity zone
When you connect an organization to an identity zone ,
you can no longer access the Edge SSO Zone Administration page from
the left navigation bar by selecting Admin > SSO. As a workaround, navigate to the page directly using the following URL:
https://apigee.com/sso
集成式门户的已知问题
以下部分介绍了集成式门户的已知问题。
领域
已知问题
SmartDocs
当您使用规范编辑器创建规范 并在门户上使用 SmartDocs 发布 API 时,Apigee Edge 支持 OpenAPI 规范 3.0,但部分功能尚不受支持。例如,OpenAPI 规范 3.0 的以下功能不受支持:
如果 OpenAPI 规范中引用了不受支持的功能,则在某些情况下,工具会忽略该功能,但仍呈现 API 参考文档。在其他情况下,不受支持的功能将导致错误,进而导致 API 参考文档无法成功呈现。无论哪种情况,您都需要修改 OpenAPI 规范,以避免使用不受支持的功能,直到将来的版本支持它为止。
注意 :在呈现 API 参考文档时,规范编辑器比 SmartDocs 的限制更宽松,因此您在不同工具之间可能会获得不同的结果。
在门户中使用“试用此 API”时,无论如何设置 OpenAPI 规范中 consumes
的值,Accept
标头都设置为 application/json
。
SAML 身份提供方
自定义网域不支持使用 SAML 身份提供方的单点登录 (SLO)。如需启用具有 SAML 身份提供方的自定义网域,请在配置 SAML 设置 时将退出网址 字段留空。
门户管理员
目前不支持多用户同时进行门户更新(例如页面、主题背景、CSS 或脚本修改)。
如果您从门户中删除 API 参考文档页面,则无法重新创建该页面;您需要删除然后重新添加 API 产品,再重新生成 API 参考文档。
配置内容安全政策 时,所做更改最长可能需要 15 分钟才能完全应用。
自定义门户主题背景 时,更改最多可能需要 5 分钟才能完全生效。
门户功能
Edge for Private Cloud 的已知问题
以下各部分介绍了 Edge for Private Cloud 的已知问题。
4.53.00 SSO 和新界面安装
此问题会影响尝试在启用了 FIPS 的 RHEL 8 上安装 SSO 或新界面的 Edge Private Cloud 4.53.00 用户。
受影响的组件 :单点登录和新界面
问题 :如果您在启用了 FIPS 的 RHEL 8 操作系统上安装 SSO 或新界面,安装会失败。
解决方法 :我们建议您使用功能齐全且符合界面功能需求的经典界面。
Edge for Private Cloud 4.52.01 Mint 更新
此问题仅影响使用 MINT 或在 Edge for Private Cloud 安装中启用了 MINT 的用户。
受影响的组件 :edge-message-processor
问题 :如果您已启用创收功能,并以全新安装的方式安装 4.52.01 或从旧版私有云升级,则会遇到消息处理器问题。打开的线程数会逐渐增加,导致资源耗尽。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 路由器 和管理服务器 组件会向互联网公开,因此可能容易受到攻击。虽然 Edge for Private Cloud 的其他 Edge 专用组件的管理端口上启用了 HTTP/2,但这些组件都不会向互联网公开。在非 Edge 组件(如 Cassandra、Zookeeper 等)上,未启用 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
如果您使用的是低于 4.51.00.11 的 Edge for Private Cloud 版本,请按以下步骤操作:
更新管理服务器 :
在每个管理服务器节点上,打开 /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
升级注意 :将较低版本的私有云升级到 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 或虚拟机备份以回滚到可正常运行的版本,然后按照权宜解决方法中的步骤重新执行升级。
RHEL 8.0 上的 apigee-mirror
apigee-mirror
不适用于 Red Hat Enterprise Linux (RHEL) 8.0。
解决方法 :作为解决方法,请在搭载较低版本 RHEL 或其他受支持的操作系统 的服务器上为 Apigee 安装 apigee-mirror
。然后,即使您在 RHEL 8.0 服务器上安装了 Apigee,也可以使用镜像添加软件包。
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:消息处理器中发现的代理处理延迟时间过长,影响了所有 API 代理。症状包括处理时间比正常 API 响应时间延迟 200-300 毫秒,即使 TPS 较低,也可能会随机发生。如果消息处理器建立的目标服务器超过 50 个,就可能会出现这种情况。
根本原因 :消息处理程序会保留一个缓存,用于将目标服务器网址映射到 HTTPClient 对象,以便与目标服务器建立出站连接。默认情况下,此设置设为 50,对于大多数部署而言可能过低。如果部署在设置中包含多个组织/环境组合,并且目标服务器数量总计超过 50 个,则目标服务器网址会不断被从缓存中驱逐,从而导致延迟。
验证 :如需确定目标服务器网址驱逐是否导致了延迟问题,请在消息处理器 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。设置的最佳值应大于消息处理器要连接到的目标服务器数量。将此属性设置得更高不会产生任何副作用,唯一的影响是消息处理器代理请求处理时间会缩短。
注意 :Edge for Private Cloud 50.00 版的默认设置为 500。
键值对映射的多个条目
157933959:对范围限定为组织级别或环境级别的同一键值对映射 (KVM) 进行并发插入和更新会导致数据不一致和更新丢失。
注意 :此限制仅适用于 Edge for Private Cloud。Edge for Public Cloud 和 Hybrid 没有此限制。
如需在 Edge for Private Cloud 中使用权宜解决方法,请在 apiproxy
作用域 中创建 KVM。
发送反馈
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-11-22。
需要向我们提供更多信息?
[[["易于理解","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"]],["最后更新时间 (UTC):2024-11-22。"],[],[]]