Apigee 已知问题

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

选择以下一项或多项来过滤此页面:

本部分列出了 Apigee 组件的已知问题。如需查看错误、新功能和其他版本信息的列表,请参阅版本说明

问题 ID 影响 状态 说明
不适用 Hybrid 1.16.0 未解决 由于 Hybrid v1.16.0 中缺少 RBAC 权限,代理部署未完成。

1.16.0 中存在一个已知问题,即 Hybrid 集群可能无法报告代理的部署状态。这是因为 apigee-manager-role 角色缺少权限。

解决方法:向 apigee-operator Helm 图表模板添加权限:

  1. 修改 apigee-operator Helm 图表模板文件 apigee-operator/templates/apigee-operators.yaml
  2. - watch 动词添加到 deployments 资源中,位于第 584 行的 - update 动词之后。
  3. 更新 apigee-operator Helm 版本。
418274570 Hybrid 1.16.0 修复 Hybrid 版本说明页面未更新 1.16.0-hotfix.1 信息。

Hybrid 版本说明页面未显示 1.16.0-hotfix.1 更新信息。 如需了解更新详情,请参阅 Apigee Hybrid v1.16.0-hotfix.1 版本说明

484366184 Hybrid 1.14.x、Hybrid 1.15.x 已在 Hybrid 1.16.0 中修复 如果使用 Kubernetes Gateway API v1.4.0 或更高版本,Apigee Hybrid 1.14 和 1.15 版会在 apigee-ingressgateway-manager 中遇到崩溃循环。

Apigee Hybrid 1.16 不受此问题的影响。

解决方法:如果您需要将 Kubernetes Gateway API 与 Apigee Hybrid 版本 1.14 或 1.15 搭配使用,请安装版本 v1.3.x 的 Gateway API。例如:

kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.3.0/standard-install.yaml

另请参阅:

480997525 Apigee 1-17-0-apigee-1 已在 Apigee 1-17-0-apigee-2 中修复 在 Netty 升级后,代理调用失败并显示 The URI contain illegal characters 错误。

在 Apigee 版本 1-17-0-apigee-1 中,Netty 升级到 4.1.129.Final 引入了回归问题。这可能会导致 API 代理调用失败,并返回 400 状态代码和错误消息 The URI contain illegal characters。此问题在外部跟踪记录中为 netty/netty#16020

465834046 Hybrid 1.14.3、Hybrid 1.15.1 以及 Hybrid 1.16.0 及更高版本(用于升级) 已在 Hybrid 1.14.3、Hybrid 1.15.1 和 Hybrid 1.16.0 中修复(针对全新安装) cert-manager 版本 1.18 及更高版本将私钥轮换政策的默认值从 Never 更改为 Always。如果 apigee-ca 的私钥发生轮换,则会影响流量

新版 cert-manager (v1.18+) 现在会自动轮替私钥。当此密钥为 apigee-ca 证书轮替时,会导致服务中断。

解决方法:为避免此问题,您可以选择以下任一选项:

  • 请勿将 cert-manager 升级到高于 1.17.x 的版本。
  • 修改 cert-manager 命名空间中的 apigee-ca 证书,并将 spec.privateKey.rotationPolicy 设置为 Never。请按照以下步骤修改 apigee-ca 证书并升级 cert-manager:
    1. 检查 apigee-ca 证书的内容,看看是否已设置 rotationPolicy
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

      在输出中查找 spec.privateKey 下的值:

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          # Note: rotationPolicy would appear here if it is set.
          size: 256
        secretName: apigee-ca
      ...
    2. 如果未设置 rotationPolicy 或将其设置为 Always,请修改 apigee-ca 证书,将 rotationPolicy 的值设置为 Never
      1. 首先执行试运行:
        kubectl patch Certificate \
          --dry-run=server \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
      2. 修补证书:
        kubectl patch Certificate \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
    3. 验证 rotationPolicy 的值现在是否已设置为 Never
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

      输出应类似如下所示:

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          rotationPolicy: Never
          size: 256
        secretName: apigee-ca
      ...
    4. 升级 cert-manager。以下命令将下载并安装 cert-manager v0.14.2:
      kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v0.14.2/cert-manager.yaml

请参阅:

458417250 Apigee 1-16-0-apigee-4 已在 Apigee 1-16-0-apigee-6 中修复 消息处理器返回 500 错误,并显示 "Duplicate Header "authorization""

如果请求中存在多个授权标头,Apigee 入口网关不会将它们串联成单个标头。这会导致消息处理器返回 "Duplicate Header "authorization"" 消息并显示 500 错误。

解决方法:如果请求中存在多个授权标头,请将它们串联成一个标头。例如:

curl -s https://my-hostname.net/mocktarget/echo \
          -H 'authorization: a, b'

462685598 界面 未解决

Apigee 界面目前不提供使用 Google-owned and Google-managed encryption key预配 Apigee 组织的选项。

在预配订阅组织时,Apigee 界面不提供选择 Google-owned and Google-managed encryption key 的选项。

解决方法:使用 Apigee API 创建基于订阅的组织,并使用 Google-owned and Google-managed encryption key。

Apigee API 文档中所述,在创建 Apigee 组织时,您可以通过不为 runtimeDatabaseEncryptionKeyNameapiConsumerDataEncryptionKeyNamecontrolPlaneEncryptionKeyName 字段提供值来使用 Google-owned and Google-managed encryption key 创建组织。

460431753 Apigee、Apigee Hybrid 未解决 Apigee Model Armor 政策不支持 WebSocket。

Apigee Model Armor 政策(包括 SanitizeUserPrompt SanitizeModelResponse)在处理 WebSocket 连接的 API 代理中使用时,目前无法按预期运行。如需详细了解 WebSocket 配置,请参阅 Apigee 中的 WebSocket

433759657 Apigee 已在 1-16-0-apigee-3 或更高版本中修复

升级到 1-16-0-apigee-3 后,部分 Apigee 组织可能会遇到 HTTP 500 错误,这些错误源于 Java 标注政策中的 java.lang.NoClassDefFoundError。错误内容如下:

{"fault":{"faultstring":"Failed to execute JavaCallout. org/apache/commons/lang/StringUtils","detail":{"errorcode":"steps.javacallout.ExecutionError"}}}

如果 Java Callout 政策错误地依赖于仅供 Apigee 内部使用的库,而不是提供自己的依赖项,就会发生此错误。

需要采取行动:为防止出现此问题,开发者必须确保所有 Java Callout 都是自包含的,并使用自己的专用库,避免依赖于 Apigee 的内部类路径。

在利用 Apache Commons JAR 库的 API 代理中,导入 Apache Commons JAR 文件以将其作为代理的资源包含在内。如需了解详情,请参阅 Java 资源指南

451841788 Hybrid 1.14.3 和 Hybrid 1.15.1 修复 即使未启用创收功能,Apigee Hybrid 也需要 mintTaskScheduler.serviceAccountPath 属性。

如果未设置 mintTaskScheduler.serviceAccountPath 属性,即使未启用创收功能,升级 apigee-org 图表也可能会失败:

Error: UPGRADE FAILED: execution error at (apigee-org/templates/mint-task-scheduler-gsa-secret.yaml:12:63): mintTaskScheduler.serviceAccountPath is required!

解决方法:移除 apigee-org/templates/mint-task-scheduler-gsa-secret.yamlapitee-org/templates/mint-task-scheduler-sa.yaml 文件。

您可以选择将文件移至 Helm 图表目录之外的其他位置。或者,如果您想日后启用创收功能,可以按照第 2 步:下载 Apigee Helm 图表中的说明重新下载这些图表。

例如,从 helm-charts/ 目录:

  1. ls apigee-org/templates/

    输出:

    apigee-org-guardrails.yaml              mart-sa.yaml
    apigee-proxy-chaining-certificate.yaml  mint-task-scheduler-gsa-secret.yaml
    apigee-proxy-chaining-route.yaml        mint-task-scheduler-sa.yaml
    ax-hash-salt-secret.yaml                NOTES.txt
    connect-agent-gsa-secret.yaml           organization.yaml
    connect-agent-sa.yaml                   udca-gsa-secret.yaml
    data-encryption-secret.yaml             udca-sa.yaml
    encryption-keys-secret.yaml             watcher-gsa-secret.yaml
    _helpers.tpl                            watcher-sa.yaml
    mart-gsa-secret.yaml
    
  2. (可选:)
    cp apigee-org/templates/mint-task-scheduler-gsa-secret.yaml /tmp/
    cp apigee-org/templates/mint-task-scheduler-sa.yaml /tmp/
  3. rm apigee-org/templates/mint-task-scheduler-gsa-secret.yaml
  4. rm apigee-org/templates/mint-task-scheduler-sa.yaml
  5. ls apigee-org/templates/

    输出:

    apigee-org-guardrails.yaml              mart-gsa-secret.yaml
    apigee-proxy-chaining-certificate.yaml  mart-sa.yaml
    apigee-proxy-chaining-route.yaml        NOTES.txt
    ax-hash-salt-secret.yaml                organization.yaml
    connect-agent-gsa-secret.yaml           udca-gsa-secret.yaml
    connect-agent-sa.yaml                   udca-sa.yaml
    data-encryption-secret.yaml             watcher-gsa-secret.yaml
    encryption-keys-secret.yaml             watcher-sa.yaml
    _helpers.tpl
    
451375397 Hybrid 1.14.3 已在 Hybrid 1.15.1 中修复

apigee-pull-push.sh 脚本可能会返回 No such image 错误消息,例如:

Error response from daemon: No such image: gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:latest

解决方法:修改 HELM_CHARTS_DIR/apigee-operator/etc/tools/apigee-pull-push.sh 脚本,将 docker_tag() 函数中的第 114 行从以下内容更改为:

  docker tag "${source}/$i" "${dest}/$i:${TAG}"

至:

  docker tag "${source}/$i:${TAG}" "${dest}/$i:${TAG}"
405936071 Hybrid 1.15.0 已在 Hybrid 1.15.1 中修复

如果在 overrides.yaml 文件中指定了 metrics.serviceAccountRefmetrics.serviceAccountSecretProviderClass,遥测角色将以错误的服务账号为目标。

解决方法:在 apigee-operator/ 图表中修补 _helper.tpl 并重新应用。

  1. 修改 apigee-operator/templates/_helpers.tpl 并移除以下粗体行:

    {{- define "metricsSA" -}}
      {{- $metricsName := "apigee-metrics" }}
      {{- $telemetryName := "apigee-telemetry" -}}
      {{- $generatedName := include "orgScopeEncodedName" (dict "name" .Values.org) -}}
      {{- if .Values.gcp.workloadIdentity.enabled -}}
      {{- printf "%s-sa" $metricsName -}}
      {{- else if .Values.serviceAccountSecretProviderClass -}}  <-- DELETE
      {{- .Values.serviceAccountSecretProviderClass -}}          <-- DELETE
      {{- else if .Values.metrics.serviceAccountRef -}}          <-- DELETE
      {{- .Values.metrics.serviceAccountRef -}}                  <-- DELETE
      {{- else if .Values.multiOrgCluster -}}
      {{- printf "%s-%s" $metricsName $generatedName -}}
      {{- else -}}
      {{- printf "%s-%s" $metricsName $telemetryName -}}
      {{- end -}}
    {{- end -}}

    生成的部分应如下所示:

    {{- define "metricsSA" -}}
      {{- $metricsName := "apigee-metrics" }}
      {{- $telemetryName := "apigee-telemetry" -}}
      {{- $generatedName := include "orgScopeEncodedName" (dict "name" .Values.org) -}}
      {{- if .Values.gcp.workloadIdentity.enabled -}}
      {{- printf "%s-sa" $metricsName -}}
      {{- else if .Values.multiOrgCluster -}}
      {{- printf "%s-%s" $metricsName $generatedName -}}
      {{- else -}}
      {{- printf "%s-%s" $metricsName $telemetryName -}}
      {{- end -}}
    {{- end -}}
  2. 重新应用 apigee-operator 图表。

    helm upgrade operator apigee-operator/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f overrides.yaml
419856132 Hybrid 1.14.2 及更高版本 已在 Hybrid 1.14.3 和 Hybrid 1.15.0 中修复 如果您的集群中安装了 gateway.networking.k8s.io/v1apigee-ingressgateway-manager 可能会无法升级。

如需了解解决方法,请按照已知问题 416634326 中的步骤操作。

378686709 Apigee
Apigee Hybrid
已在 Apigee 中修复(需要致电支持团队)
已在 Hybrid 1.14.3 和 Hybrid 1.15.1 中修复需要执行相应程序

在 Apigee 代理基本路径中使用通配符 (*) 可能会与其他明确的基本路径发生冲突,从而导致 404 错误。例如,在同一环境中部署的两个代理使用以下基本路径可能会导致在调用 Proxy-2 时出现 404 错误:

Proxy-1: /a/v1/b
Proxy-2: /a/*/c

在这种情况下,对显式基本路径的调用将成功解析,但如果通配符路径的计算结果为 /a/v1/c,则对 Proxy-2 的调用可能会返回 404

已修复:此问题已在 Apigee 和 Hybrid 1.14.3 及更高版本中得到修复。不过,该修复程序默认处于停用状态。如果您希望在基本路径中启用通配符:

  • 拥有 Apigee 组织的客户应与 Apigee 支持团队联系,以便在需要时启用此修复。
  • 如果需要,拥有 Apigee Hybrid 组织的客户应使用以下流程来启用修复。

步骤:如需在 Apigee Hybrid 中启用在 Apigee 代理基本路径中使用通配符 (*),请执行以下操作:

  1. 在升级到 Hybrid 1.14.3 或更高版本之前,请将以下节添加到 overrides.yaml 文件:
    runtime:
      cwcAppend:
        conf_message-processor-communication_classificationV2.enabled: "true"
    
  2. 将更改应用于 apigee-env 图表。对安装中的每个环境重复此更改。
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
    • ENV_RELEASE_NAME 是用于跟踪 apigee-env 图表的安装和升级情况的名称。此名称必须与安装中的其他 Helm 版本名称不同。通常,这与 ENV_NAME 相同。但是,如果环境与环境组具有相同的名称,则您必须为环境和环境组使用不同的版本名称,例如 dev-env-releasedev-envgroup-release。如需详细了解 Helm 中的版本,请参阅 Helm 文档中的三大概念
    • ENV_NAME 是您要升级的环境的名称。
    • OVERRIDES_FILE 是替换文件。
  3. 升级到 Hybrid 1.14.3 或更高版本。
382565315 Hybrid 1.13.0、
Hybrid 1.13.1、
Hybrid 1.13.2、
Hybrid 1.14.0
已在 Hybrid 1.13.3 和 Hybrid 1.14.1 中修复

SecurityPolicy 中的 LogTimer 使用可能会导致内存泄漏。

在某些情况下,Apigee Hybrid 的记录器线程可能会消耗所有可用内存。例如,频繁记录与 Javacallout 相关的权限错误的日志条目可能会导致 OOM。

421190799 Apigee 已在 Apigee 1-15-0-apigee-7 中修复

Apigee 扩展处理器不支持在请求和响应正文事件中处理超过 100 KB 的数据。

432315283 Apigee 未解决

在不创建新密钥库或信任库的情况下更新密钥库或信任库时,运行时更新可能会失败,并导致以下间歇性错误:

  {"fault":{"faultstring":"SSL Handshake failed sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target","detail":{"errorcode":"messaging.adaptors.http.flow.SslHandshakeFailed"}}}

此错误是间歇性的,因为密钥库或信任库更新可能在一个运行时 pod 上失败,但在其他 pod 上成功。为避免此问题,请通过创建新的密钥库或信任库来更新密钥库或信任库。按照 证书到期中所述,将引用重新指向新的密钥库或信任库。

412740465 Hybrid 1.14.0 及更高版本 已在 Hybrid 1.14.3 和 Hybrid 1.15.1 中修复

从 Apigee Hybrid 1.14.0 版开始,自动添加 Zipkin 跟踪标头 (x-b3-*) 的功能已移除。

不适用

Apigee Hybrid 未解决 使用 httpProxy 配置非 API 代理转发,如果未设置 envs.httpProxy,则代理配置不会应用于 Apigee Runtime 对 Pub/Sub 或其他 Google Cloud API 等服务的外部调用。

如果您仅指定 httpProxy,还必须确保 *.googleapis.com 已列入 Apigee Runtime Pod 的许可名单,以便连接到这些服务。

请参阅为 API 代理配置转发代理

416634326 Hybrid 1.14.2 及更高版本 已在 Hybrid 1.14.3 和 Hybrid 1.15.1 中修复

Apigee 混合集群中存在 istio.io 自定义资源定义 (CRD) 可能会导致 apigee-ingressgateway-manager Pod 失败。

在 Apigee Hybrid 从旧版升级到 1.14.2 或更高版本的过程中,如果存在现有的 istio.io CRD,可能会导致 apigee-ingressgateway-manager Pod 的 discovery 容器中的就绪性探测失败。

解决方法:Apigee Hybrid v1.14.2 或更高版本不需要 istio.io CRD。您可以通过以下两种方式解决此问题:

  • 如果您在集群中使用 Istio 的目的并非 Apigee,请删除 istio.io CRD。
  • 更新 apigee-ingressgateway-manager clusterrole 以添加 istio.io 的权限。

在完成上述任一操作后,您都需要重启 apigee-ingressgateway-manager pod。

删除 CRD

  1. 将集群中的 istio.io CRD 列入 CSV 文件:
    kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io > istio-crd.csv
  2. 可选:将 CRD 保存到本地,以防需要重新创建它们:
    kubectl get crd $(cat istio-crd.csv) -o yaml > istio-crd.yaml
  3. 删除 istio.io CRD:

    试运行:

    kubectl delete crd $(cat istio-crd.csv) --dry-run=client

    执行:

    kubectl delete crd $(cat istio-crd.csv)

更新 clusterrole

  1. 获取当前的 apigee-ingressgateway-manager 集群角色:
    kubectl get clusterrole apigee-ingressgateway-manager-apigee -o yaml > apigee-ingressgateway-manager-apigee-clusterrole.yaml
  2. 将 clusterrole 复制到新位置:
    cp apigee-ingressgateway-manager-apigee-clusterrole.yaml apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml
  3. 将以下额外权限添加到文件末尾:
    - apiGroups:
      - gateway.networking.k8s.io
      resources:
      - gatewayclasses
      - gateways
      - grpcroutes
      - httproutes
      - referencegrants
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - networking.istio.io
      resources:
      - sidecars
      - destinationrules
      - gateways
      - virtualservices
      - envoyfilters
      - workloadentries
      - serviceentries
      - workloadgroups
      - proxyconfigs
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - security.istio.io
      resources:
      - peerauthentications
      - authorizationpolicies
      - requestauthentications
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - telemetry.istio.io
      resources:
      - telemetries
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - extensions.istio.io
      resources:
      - wasmplugins
      verbs:
      - get
      - list
      - watch
    
  4. 应用角色:
    kubectl -n APIGEE_NAMESPACE apply -f apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml

完成上述操作后,您需要重启 apigee-ingressgateway-manager pod。

  1. 列出要重新安装或重新创建的 ingress-manager Pod:
    kubectl get deployments -n APIGEE_NAMESPACE

    输出示例:

    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager       1/1     1            1           32d
    apigee-ingressgateway-manager   2/2     2            2           32d
    
  2. 重启 ingress-manager Pod:
    kubectl rollout restart deployment -n APIGEE_NAMESPACE apigee-ingressgateway-manager
  3. 几分钟后,监控 apigee-ingressgateway-manager pod:
    watch -n 10 kubectl -n APIGEE_NAMESPACE get pods -l app=apigee-ingressgateway-manager

    输出示例:

    NAME                                             READY   STATUS    RESTARTS   AGE
    apigee-ingressgateway-manager-12345abcde-678wx   3/3     Running   0          10m
    apigee-ingressgateway-manager-12345abcde-901yz   3/3     Running   0          10m
    
414499328 Hybrid 1.14.1 已在 Hybrid 1.14.3 和 Hybrid 1.15.0 中修复

ApigeeTelemetry 可能会卡在 creating 状态。

OpenShift 安装中已出现此问题。

解决方法:修改 apigee-operator 图表模板以创建正确的 clusterrole 访问权限。

  1. 修改 helm-charts/apigee-operator/templates/apigee-operators.yaml 模板文件,找到 -apigee-manager-role- clusterrole 的定义。其开头为:
    kind: ClusterRole
    metadata:
      name: apigee-manager-role-{{ include 'namespace' }}
    rules:
      ...
                  
  2. 找到 - apiGroups: apiregistration.k8s.io 区块,并将 apiservices/finalizers 资源添加到资源列表:
    - apiGroups:
      - apiregistration.k8s.io
      resources:
      - apiservices
      - apiservices/finalizers
      verbs:
      - create
      - delete
      - get
      - patch
      - update
      
  3. 找到 - apiGroups: authorization.k8s.io 区块,并在该区块的末尾添加 - apiGroups: apigee.cloud.google.com 区块,其中包含以下文本:
    - apiGroups:
      - apigee.cloud.google.com
      resources:
      - apigeetelemetries/finalizers
      verbs:
      - get
      - patch
      - update
    

    例如:

    - apiGroups:
      - authorization.k8s.io
      resources:
      - subjectaccessreviews
      verbs:
      - create
      - get
      - list
    - apiGroups:
      - apigee.cloud.google.com
      resources:
      - apigeetelemetries/finalizers
      verbs:
      - get
      - patch
      - update
    
  4. 将更改应用于 apigee-operator 图表:

    试运行:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    升级图表:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f OVERRIDES_FILE \
    
402739748 Apigee 未解决

API 产品限制为 50 条路径。如果您添加其他路径,系统会显示错误消息: Operation group limit of 51 exceeded in Operation Config

解决方法:如配置资源路径中所述,使用通配符模式来组合资源路径和操作。

解决方法:创建多个 API 产品。此解决方法已通过验证,适用于向 API 产品添加大量 API 代理的用户。与您的 API 产品关联的应用需要更新以包含新产品,但经过验证,凭证和客户端请求详细信息不需要更改。

291294211 Apigee 未解决

使用“Custom Reports”和“Stats”API 时,针对使用创收功能的安装选择“按费用类型”时出错。

解决方法:在过滤之前,在客户端提取所有费用类型。

391140293 Apigee
Apigee Hybrid
修复

扩缩 Istio 入站流量 Pod 可能会导致 503 错误。

扩缩 Istio 入站流量 Pod 有时可能会导致 503 错误。如果发生 503 错误,负载均衡器的日志会显示以下消息:statusDetails: backend_connection_closed_before_data_sent_to_client

解决方法:手动扩缩 Istio 入站流量 Pod。

368155212 Hybrid 1.14.0
Hybrid 1.14.1
已在 Hybrid 1.14.2 中修复

ESS非 ESS Cassandra 凭证变换在具有增强型代理限制的组织中不起作用。

运行时流量不受影响。

401624396 Hybrid 1.13.x
Hybrid 1.14.x
未解决 在恢复从多区域设置中获取的 GCPHYBRID 云服务提供商备份时,Apigee 恢复作业失败。此问题不会影响 CSI 恢复。

使用 GCPHYBRID 云服务提供商从多区域设置中获取的备份包含有关在拍摄快照时存在的所有混合区域的信息。并且,由于这些区域不再存在,因此恢复作业将与 Cassandra 的当前状态冲突,且会失败并显示以下错误:Unrecognized strategy option passed to NetworkTopologyStrategy

401746333 Apigee
Hybrid 1.12.4
Hybrid 1.13.3
Hybrid 1.14.1
修复

使用 JavaCallout 政策时,Nimbus JOSE + JWT 库可能会导致 java.lang.ClassCircularityError

如果您有启用了 Apigee Hybrid 的组织,并且该组织的 JavaCallout 政策使用 Nimbus JOSE + JWT 库,请勿升级到 Hybrid 1.12.4、Hybrid 1.13.3、Hybrid 1.14.1。

397693324 Hybrid 1.14.0
Hybrid 1.14.1
已在 Hybrid 1.14.2 中修复

ESS非 ESS 多区域 Cassandra 凭证变换在除第一个区域之外的所有区域都会失败。

运行时流量不受影响。

请按照提供的解决方法解决此问题。

391861216 Hybrid 1.13.x
Hybrid 1.14.x
已在 Hybrid 1.13.3 和 Hybrid 1.14.1 中修复 在使用 GCPHYBRID 云服务提供商恢复的混合集群上重启 Cassandra Pod 会导致 Pod 进入 CrashLoopBackoff 状态。此问题不会影响 CSI 恢复。

在应用 Cassandra 替换更改(例如重新启用备份)后,Cassandra Pod 将重启,并因此触发此问题。处于 CrashLoopBackoff 状态的 Cassandra Pod 的日志将显示以下错误:Cannot change the number of tokens from 512 to 256

请按照提供的解决方法解决此问题。

388608440 Hybrid 1.11.x
Hybrid 1.12.x
已在 Hybrid 1.12.4 及更高版本中修复 Apigee 备份作业不会清理 Cassandra 中间快照。

在极少数情况下,Apigee 备份作业不会清理使用 HYBRIDGCP 云服务提供商进行备份时创建的 Cassandra 中间快照。只有在根本问题导致备份流程无法成功连接到远程服务器或 Cloud Storage 时,才会发生这种情况。如果连接问题仍然存在,这些剩余的 Cassandra 快照可能会随着时间的推移而累积,并占用 Cassandra 磁盘上的存储空间。 如果您受到影响,请先解决底层连接问题,然后按照 Cassandra 问题排查指南中提供的步骤手动清除 Cassandra 快照。

392135466 Hybrid 1.14.0 未解决 使用增强型个别环境代理限制时,不支持使用 mTLS 进行代理链接
383334511 Apigee 未解决 使用不符合预期的名称创建的 KVM 条目

当 KeyValueMapOperations 政策与 apiproxy 范围搭配使用时,如果在共享流中通过流钩子调用该政策的 <Put> 操作,则系统会在共享流名称下创建 KVM 条目。预计会在 API 代理名称下创建。

384937220

Hybrid 1.14.0 修复 如果存在多个虚拟主机,Helm 版本创建可能会失败。

如果存在多个虚拟主机,Helm 版本创建可能会因 ApigeeRoute 名称冲突而失败。解决方法是在创建以下内容时对每个虚拟主机运行以下命令:

kubectl annotate ar apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite
kubectl annotate cert apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite

其中:

  • PROJECT_ID_SUFFIX 是 Kubernetes 中项目内部链的唯一后缀。您可以使用以下命令查找此后缀:
    kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining

    输出将如下所示:

    kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining
    apigee-ingressgateway-internal-chaining-my-project--1234567    ClusterIP  34.118.226.140  <none>    15021/TCP,443/TCP    5d6h

    在示例输出中,my-project--1234567PROJECT_ID_SUFFIX

  • APIGEE_NAMESPACE 是您的 Apigee 命名空间。
  • NEW_ENV_GROUP_NAME 是附加环境组的名称。为每个虚拟主机更新此值。

不适用

Apigee Hybrid 未解决 无效的服务账号可能会将 UpdateControlPlaneAccess API 发送到重试循环。

如果用户向 UpdateControlPlaneAccess API 提供无效的服务账号,操作会进入重试循环,实际上会使组织无法调用该 API,直到操作超时。

373722434 Hybrid 1.13.x 已从 Hybrid 1.13.2 及更高版本开始修复 Apigee 备份作业无法上传到具有保留政策的 Cloud Storage 存储桶。

使用 GCP 云服务提供商时,Apigee 备份作业无法上传到具有保留政策的 Cloud Storage 存储桶。备份文件可能会保留在 Cloud Storage 存储桶中,文件大小为 0 字节。

解决方法:停用 Cloud Storage 存储桶的保留政策。

341099433

Apigee Hybrid 未解决 apigee-logger 组件不支持工作负载身份联合

apigee-logger 利用 Google IAM 服务账号将日志发送到 Cloud Logging。这是因为 FluentBit 不支持工作负载身份联合,导致 apigee-logger 无法利用此功能。

不适用

Apigee Hybrid 未解决 使用数据驻留的组织不支持 Apigee Hybrid 中的分布式跟踪记录。

不适用

Apigee 未解决 Apigee 不支持密钥重新加密,这意味着即使在轮替后,旧密钥版本仍会继续使用,并且您无法在创建组织后更改 CMEK 密钥。

270574696

Apigee 修复 Apigee 不支持 Cloud External Key Manager

268104619

Apigee
Apigee Hybrid
未解决 在 OASValidation 政策中,当您在标头中指定数组类型时,即使输入有效,MP 也会抛出错误。

364872027

Apigee
Apigee Hybrid
修复 由于非标准格式,JWT/JWS 政策中出现 PEM 解析错误

对于 Apigee 和 Apigee Hybrid 1.13 版及更高版本,Apigee JWS 或 JWT 政策中使用的密钥的必需 PEM 格式存在任何偏差都可能导致解析错误。例如,不允许在 "-----END" 行(封装后边界)紧前面放置除换行符 (/n) 之外的任何字符,否则会导致错误。

为防止此错误,请确保除换行符(例如尾随空格或斜杠)之外,封装后边界紧前面没有字符。

如需详细了解用于公钥或私钥的编码,请参阅 IETF RFC 7468

310191899

Apigee
Apigee Hybrid
未解决 部署 API 代理和共享流时超时

与较多的每秒查询次数 (QPS) 搭配使用时,以下端点可能会遇到超时情况:

为降低超时发生的可能性,我们建议您在使用这些端点时将目标值设为 1 QPS,或者在尝试其他部署之前检查部署状态。

329304975

Apigee 修复 每个环境的基本路径数量的限制

Apigee 对每个环境实施 1,000 个基本路径的临时限制,以避免在部署 API 代理修订版本时可能发生的失败。

此限制实施后,您最多可以为每个环境部署 1,000 个 API 代理修订版本(每个修订版本包含一个基本路径)。 如果 API 代理或修订版本包含多个基本路径,则每个环境的基本路径总数不得超过 1,000。

333791378

Hybrid 1.12.0 未解决 Helm 迁移工具不支持的 Cassandra 备份和恢复功能

如需了解安装可解决问题的补丁的步骤,请参阅问题排查

310384001

Hybrid 1.11.0 未解决 如果用户在目标 <SSLInfo> 块中添加标记 <Enforce>true</Enforce> 以对 TLS 目标端点证书进行默认验证,则证书验证失败可能会返回 502 而不是 503 错误响应。

289583112

Apigee 未解决 OASValidation 政策不适用于 OpenAPI 规范中的全球安全要求

如果 OASValidation 政策指定 <OASResource> 并将安全要求设置为全球级别,则系统不会强制执行安全要求。

解决方法:如需确保强制执行,必须在传入 OASValidation 政策的 <OASResource> 元素的 OpenAPI 规范中将所有安全要求设置为操作级别。

205666368

Apigee
Hybrid 1.10.2
Hybrid 1.10.3
已在 Apigee 1-10-0-apigee-6 和
Hybrid 1.10.3-hotfix.1 中修复
Apigee Hybrid 默认不验证目标证书。

请参阅关于在目标端点或目标服务器中设置 TLS 选项

295929616

Hybrid 1.10.0 及更高版本 已在 Hybrid 1.10.3 中修复 在 OpenShift (OSE) 上安装 Apigee Hybrid 1.10 可能会失败,并显示内存不足错误。

由于内存不足问题,在 OSE 上安装或升级到 Apigee Hybrid 1.10.0 至 1.10.2 可能会失败。已在 Apigee Hybrid 1.10.3 版中修复。

292118812

Hybrid 1.10.1 修复 apigee-udca 可能不遵循 HTTP 代理设置。

如果防火墙强制所有流量通过转发代理,apigee-udca 可能会进入崩溃循环退避状态。

292558790

Apigee
Hybrid 1.8.0 及更高版本
未解决 OASValidation 政策失败,并显示 Unable to parse JSON 错误。
  • 如果 JSON 内容与预期模式不匹配,则 OASValidation 政策会失败。例如,如果标头需要一个格式为 <text>@<text> 的值并且填充了缺少 @ 符号的文本,则政策将失败并显示 Unable to parse JSON 错误。
  • 如果 OASValidation 政策指定 <OASResource> 包含使用 $ref 架构的 path 参数,则该政策将失败并显示 Unable to parse JSON - Unrecognized token 错误。

    解决方法:请勿在 <OASResource> 元素中指定的 OpenAPI 规范的 path 参数中使用 $ref

297012500

Apigee
Hybrid 1.8.0 及更高版本
未解决 使用循环引用时 OAS 验证的部署问题。
  • 使用 OpenAPI 3.0.0 规范的循环引用时,Apigee 部署将失败,因为它会进入无限循环。
  • 解决方法:使用不包含循环引用的 OpenAPI 规范 yaml。

289254725

Apigee
Apigee 1-10-0-apigee-3
hybrid 1.8.8
hybrid 1.9.3
已在 Apigee 1-10-0-apigee-5 中修复
已在 Hybrid 中修复
包含 OASValidation 政策的代理部署可能会失败。

在以下情况下,包含 OASValidation 政策的代理部署可能会失败:

  • OASValidation 政策中用于验证的 OpenAPI 规范采用 YAML 格式,并且
  • YAML 格式的 OpenAPI 规范包含浮点数。例如:
    schema:
    type: number
    example: 2.345

284500460

Apigee
Apigee 1-10-0-apigee-1
修复 与 Cloud Logging 搭配使用时,消息日志记录政策的延迟时间增加。

为避免增加对客户端的响应的延迟时间,应将消息日志记录政策附加到 PostClientFlow。如需详细了解如何在 PostClientFlows 中使用政策,请参阅使用流控制 API 代理

282997216

Hybrid 1.8.0 及更高版本
Hybrid 1.9.0 及更高版本
未解决 Cassandra Jolokia 密码中不允许使用特殊字符

仅使用 Cassandra Jolokia 密码的字母数字字符。使用特殊字符(包括但不限于“!”“@”“#”“$”“%”“^”“&”和“*”)可能会导致 Cassandra 启动失败。

270371160

Hybrid 1.9.0 及更高版本 修复 Apigee 入站流量网关仅支持 TLS1.2+ 协议/加密方式

Apigee 入站流量网关仅支持 TLS1.2+,不支持早期版本的 TLS。

269139342

Hybrid 1.7.0 及更高版本 修复 apigeectl getOrg 不遵循 overrides.yaml 中的 HTTP_PROXY 设置

Apigee 组织验证不遵循 overrides.yaml 中设置的 HTTP 转发代理规则。设置 validateOrg: false 以跳过此验证。

266452840

Apigee
Hybrid 1.7.0 及更高版本
Hybrid 1.8.0 及更高版本
Hybrid 1.9.0 及更高版本
修复 Web 套接字无法在 Apigee X 和 Apigee Hybrid 中使用 Anthos Service Mesh 1.15.3

在某些情况下,使用 Anthos Service Mesh 1.15.3-asm.6 时,Web 套接字不适用于 Apigee X 和 Apigee Hybrid。

287922301

Apigee 未解决 围绕数量区间阈值的变现率存在不准确之处

由于当前的设计,对于发生在量级区间阈值附近的交易,系统可能会评估出不准确的创收率。这表现为以阈值前费率评估的交易过多,并且当给定开发者和费率方案组合的许多交易在 30 秒的时间范围内发生时,更有可能发生这种情况。这意味着,如果分级费率降低,创收报告会高估费用;如果分级费率提高,创收报告会低估费用。 此问题出现在 Apigee X 和 Apigee Hybrid 中,目前尚无已知的解决方法。 我们已开始着手解决此问题,并将在未来的版本中提供解决方案。

242213234

Apigee 修复 API 产品无法加载,并显示“没有可用的连接”错误

尝试加载 API 产品时可能会返回此错误:“产品未成功加载。错误:没有来自 Apigee 连接代理的可用连接。”

在 Google Cloud 项目中启用 VPC Service Controls 并将 iamcredentials.googleapis.com 添加为服务边界中的一项受限服务后,会出现此问题。

解决方法:手动创建出站流量规则,如下所示:

-egressTo:
    operations:
    -serviceName: "iamcredentials.googleapis.com"
        methodSelectors:
        -method:
    resources:
    -projects/608305225983
  egressFrom:
    identityType: ANY_IDENTITY

247540503

Hybrid 1.7.0 及更高版本
Hybrid 1.8.0 及更高版本
修复 使用加密密钥查找的竞态条件可能会导致 KVM 查找失败。

在高吞吐量的某些情况下,使用加密密钥查找的竞态条件可能导致 KVM 查找失败。

258699204

Hybrid 1.8.0 及更高版本 修复 指标 Pod 的默认内存请求和限制已在 1.8.x 中意外更改。

如果 apigee-telemetry-app 或 apigee-telemetry-proxy pod 出现问题,请更改 metrics 资源请求和资源限制属性,以匹配以下配置属性参考文档:指标中的默认值。

配置属性 默认值
metrics.aggregator.resources.requests.memory: 512Mi
metrics.aggregator.resources.limits.memory: 3Gi
metrics.app.resources.requests.memory: 512Mi
metrics.app.resources.limits.memory: 1Gi
metrics.appStackdriverExporter.resources.requests.memory: 512Mi
metrics.appStackdriverExporter.resources.limits.memory: 1Gi
metrics.proxy.resources.requests.memory: 512Mi
metrics.proxy.resources.limits.memory: 1Gi
metrics.proxyStackdriverExporter.resources.requests.memory: 512Mi
metrics.proxyStackdriverExporter.resources.limits.memory: 1Gi

使用带有 ‑‑telemetry 标志的 apigeectl apply 应用更改:

apigeectl apply --telemetry -f overrides.yaml

260324159

Apigee 1-9-0-apigee-16 修复 API 代理和共享流部署最多可能需要 30 分钟。

在某些情况下,由于同步器中发生“套接字已关闭”错误,API 代理和共享流可能需要大约 20 到 30 分钟才能部署到运行时平面中。

214447386

全部 未解决 “未修改配置”消息在 Apigee API 数据访问审核日志中显示为 Error

预计每分钟发生一次,不会影响结算费用。

260772383

Hybrid 1.8.0 及更高版本 未解决 AKS 平台上的套接字绑定错误

如果在 AKS 上安装 Hybrid,您可能会看到以下错误:

envoy config listener '0.0.0.0_443' failed to bind or apply socket options: cannot bind '0.0.0.0:443': Permission denied

解决方法:将以下 svcAnnotations 节添加到替换文件中:

ingressGateways:
- name: INGRESS_NAME
...
svcAnnotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"

请参阅配置 Hybrid 运行时。另请参阅将内部负载均衡器与 AKS 搭配使用

241786534

Hybrid 1.8.0 及更高版本 修复 MART 有时无法连接到 FluentD。

使用组织范围的 UDCA 时,MART 有时无法连接到 FluentD。组织范围的 UDCA 是 Apigee Hybrid 1.8 版中的默认设置。请参阅配置属性参考文档中的 orgScopedUDCA

不适用 Hybrid 1.6.0 及更高版本 未解决 apigee-logger 在使用 CentOS 或 RHEL 的 Anthos Bare Metal 上不起作用。

在 Apigee Hybrid 1.6.6 版中将 apigee-loggerfluend 迁移到 fluent-bit 后,日志记录器在使用 CentOS 或 RHEL 的 Anthos Bare Metal 上不再起作用。

207762842 Hybrid 1.5.0 及更高版本 修复 日志未由 apigee-logger 发送到 Cloud Logging。

当前的 apigee-logger 配置(包括活跃性探测)与 Kubernetes 运行时不兼容,导致日志未按预期发送到 Cloud Logging。此问题还会导致 apigee-logger Pod 定期崩溃。此问题会影响 AKS、Anthos Bare Metal 和其他平台上的 Apigee Hybrid 安装。请注意,在某些情况下,此问题会导致日志量过多。

191291501、191000617 Apigee 修复 在界面中更改开发者实体的电子邮件地址失败。
191002224 Hybrid 1.5.0 及更高版本 修复 使用 PUT /organizations/{org_name}/developers/{developer_email} API 时更改电子邮件地址失败。
184555974 Hybrid 1.5.0 及更高版本 修复 Apigee-logger Fluentd 无法解析 OpenShift 集群中的日志。
不适用 归档部署 未解决 不支持在界面中管理和调试 Apigee 归档部署

在 Apigee 界面中,您无法查看、确认部署状态或管理您的归档部署(如部署 API 代理所述),也无法使用调试界面(如使用调试所述)。如需解决此问题,您可以使用 gcloud 或 API 列出环境中的所有归档部署,并使用 Debug API

不适用 归档部署 未解决 不支持回滚归档部署

目前不支持回滚归档部署。 如需移除归档部署的某个版本,您需要重新部署旧版归档删除环境

421402073

Apigee in VS Code 未解决 Apigee in Visual Studio Code (VS Code) 不支持政策中的 Google 身份验证 (VS Code)

Apigee in VS Code 不支持 ServiceCallout 和 ExternalCallout 政策中的 Google 身份验证(如使用 Google 身份验证中所述)。

422757662 Apigee 1-15-0-apigee-5
hybrid 1.15.0
已在 Apigee 1-15-0-apigee-7 和 Apigee 1-15-0-apigee-8 中修复

停用 DistributedTrace 时,x-b3 标头不可用

在 Apigee 1-15-0-apigee-5 和 Hybrid 1.15.0 版本中,当分布式跟踪处于停用状态时,Apigee 停止向目标端点发送 x-b3 标头。不过,某些 Apigee 安装依赖于 x-b3 标头的发送,无论分布式跟踪是启用还是停用。因此,从 Apigee 1-15-0-apigee-7 开始,此项变更已恢复。

146222881 Hybrid 1.3.0 及更高版本 修复 无效的 HTTP 标头错误

无效的 HTTP 标头错误:Istio Ingress 会将所有传入的目标响应切换到 HTTP2 协议。由于 Hybrid 消息处理器仅支持 HTTP1,因此调用 API 代理时,您可能会看到以下错误:

http2 error: Invalid HTTP header field was received: frame type: 1, stream: 1,

name: [:authority], value: [domain_name]

如果出现此错误,您可以采取以下任一措施来纠正问题:

  • 修改目标服务以忽略响应中的主机标头。
  • 如有必要,使用 API 代理中的 AssignMessage 政策移除主机标头。

420985360

集成式门户 未解决 SmartDocs
  • 虽然在您的门户上使用 SmartDocs 发布 API 时,Apigee 支持 OpenAPI 规范 3.0,但还有一小部分功能得不到支持。例如,用于组合和扩展架构的 allOf 属性。

    如果 OpenAPI 规范中引用了不受支持的功能,则在某些情况下,工具会忽略该功能,但仍呈现 API 参考文档。在其他情况下,不受支持的功能将导致错误,进而导致 API 参考文档无法成功呈现。无论哪种情况,您都需要修改 OpenAPI 规范,以避免使用不受支持的功能,直到将来的版本支持它为止。

  • “试用此 API”具有以下限制:
    • 无论如何设置 OpenAPI 规范中 consumes 的值,Accept 标头都设置为 application/json
    • 不支持字符串以外类型的请求标头。
不适用 集成式门户 未解决 门户管理员

  • 目前不支持多用户同时进行门户更新(例如页面、主题背景、CSS 或脚本修改)。
  • 如果您从门户中删除 API 参考文档页面,则无法重新创建该页面;您需要删除然后重新添加 API 产品,再重新生成 API 参考文档。
  • 自定义门户主题背景时,更改最多可能需要 5 分钟才能完全生效。
不适用 集成式门户 未解决 门户功能

在未来版本中,将把搜索集成到集成式门户中。

不适用 集成式门户 未解决 SAML 身份提供商

自定义网域不支持具有 SAML 身份提供商的单一退出 (SLO)。如需通过 SAML 身份提供商启用自定义网域,请在配置 SAML 设置时将“退出网址”字段留空。

191815997 Hybrid 1.6.0 及更高版本 修复 如果混合型客户为 API 代理配置转发代理,则 Google 令牌在可以直接访问 *.googleapis.com 之前将无法运作。
不适用 Apigee 已在 Apigee 1-12-0-apigee-2 和 Hybrid 1.12.0 中修复 API Monitoring 和 Cloud Monitoring 显示异常峰值

  • API 代理请求和响应计数(适用于代理和目标)显示异常峰值

    以下示例展示了此类峰值:

    查看放大图片

  • 由于错误,系统会短暂地错误注册计数,稍后计数会更正。当 API 流量减少(导致 API 网关缩容)时,会发生这种情况。
  • 如需区分请求的实际峰值与此问题,请参阅 API 分析页面(特别是代理性能目标性能页面)

受影响的指标:

  • apigee.googleapis.com/proxyv2/request_count
  • apigee.googleapis.com/proxyv2/response_count
  • apigee.googleapis.com/targetv2/request_count
  • apigee.googleapis.com/targetv2/response_count

新指标

您可以使用新指标来避免此问题。

指标 说明
apigee.googleapis.com/proxy/request_count 自上次记录样本以来向 Apigee 代理请求的次数。
apigee.googleapis.com/proxy/response_count Apigee API 代理发送的响应数量。
apigee.googleapis.com/proxy/latencies 根据从 Apigee 代理接收到请求的那一刻到响应从 Apigee 代理发送至客户端的这段时间计算得出的延迟时间分布。
apigee.googleapis.com/target/request_count 自上次记录样本以来发送到 Apigee 目标的请求数。
apigee.googleapis.com/target/response_count 自上次记录样本以来从 Apigee 目标接收到的响应数。
apigee.googleapis.com/target/latencies 根据从请求发送至 Apigee 目标的那一刻到 Apigee 代理接收到响应的这段时间计算得出的延迟时间分布此时间不包括 Apigee API 代理开销。

对于 Apigee Hybrid,请参阅指标收集概览查看指标

203778087 Hybrid 1.5.3 及更高版本 未解决 apigee-stackdriver-logging-agent 目前以根用户身份运行。

解决方法:在 Hybrid 上停用日志记录代理。

205629443 Apigee 修复 如果 ServiceCallout 被触发并忘记(没有 <Response> 标记),则在其后出现其他政策时可能会产生竞态条件。

解决方法:要保持触发和忘记行为,请执行以下操作:

  1. <Response>calloutResponse</Response> 添加到 ServiceCallout。
  2. continueOnError 设置为 true
207719377 Apigee 已在 Apigee 1-11-0-apigee-1 中修复 如果软件包中有多项 SpikeArrest 政策,则会出现 502 错误。

解决方法:避免在代理中使用多个 SpikeArrest 政策来防止出现问题。

209097822 Apigee Hybrid 1.5.0 及更高版本
Apigee
修复 针对 SpikeArrest 的速率的动态更新可能无法立即反映

对于特定密钥,如果存在连续流量,则该密钥的速率可能不会限制为更新后的速率。如果某特定键有 5 分钟没有流量,则速率将反映出来。

解决方法:如果速率必须立即生效,请使用新的引用变量重新部署代理。或者使用两个具有不同流变量的条件高峰控制来调整速率。

221305498 Apigee 未解决 API Monitoring 可能会显示“(未设置)”故障代码。

可配置 API 代理的 API Monitoring 可能会针对来自目标具有非 2xx 状态的响应显示“(未设置)”故障代码。

246774745 Apigee 修复 当与多个动态目标结合使用时,系统不会遵循 io.timeout.millis 的值。

如果代理使用同一目标主机在两个或多个流中设置两个或多个 io.timeout.millis 值,则系统仅会遵循 io.timeout.millis 值。

245664917 Hybrid 1.8.x 修复 可以忽略 Apigee Hybrid 升级错误

在升级到 Apigee Hybrid 1.8.x 期间,运行 apigeectl init 并确认 check-ready 成功后,您可能会注意到,如果您查看 pod,则 Cassandra 架构验证作业会处于错误状态。这种情况不会造成影响,您可以放心地进入升级流程的下一步。

300660653 Apigee 修复 将具有相同路径的代理部署到连接到同一实例和环境组的多个环境时,应该返回错误,但没有返回

不允许将具有相同路径的代理部署到连接到同一实例和环境组的多个环境,系统应返回有关基本路径冲突的警告消息。系统不会显示任何错误,并且部署似乎成功了。

临时解决方法:部署时以及部署后,验证基本路径与已部署的代理不存在冲突,并根据需要进行更正。

301458133 Apigee 修复 某些代理部署尝试返回修订版本不可变的错误

尝试保存先前部署的代理时,部署可能会失败,并显示指出修订版本不可变的错误。

解决方法:点击保存按钮旁边的下拉箭头,然后选择保存为新修订版本。然后,重新尝试部署。

301845257 Apigee 修复 尝试将 800 个以上的代理部署到环境组失败并显示错误。当基本路径长度超过 15 个字符时,返回错误的限制低于 800。

315820718 Apigee 修复 使用 gRPC 代理请求,gRPC 尾部将从响应中移除

在调用 gRPC 目标服务器时,返回的唯一尾部便是“grpc-status”尾部。所有其他尾部的片段都会从响应中移除。

341157011 Apigee 修复 使用 Cloud Code 中的 Gemini Code Assist 生成的规范(也包含非 ASCII UTF-8 字符)在上传到 API Hub 时无法正确解析。

因此,API Hub 无法正确提取操作、定义和其他元数据。
338285095 Apigee 修复 与 AppGroup 关联的应用不会显示在 Apigee 界面中的“应用”列表中。因此,用户在控制台中访问应用的“应用详情”页面。在解决此问题之前,我们不支持在控制台中使用应用名称的一部分或 API 密钥搜索应用。

Apigee Hybrid 组织不受此问题影响,因为它们使用经典界面来查看应用详情。

部分解决方法:可以使用 API 列出所有应用。请参阅 organizations.apps.list
355714868 Monetization
Apigee Hybrid
已在 Hybrid 1.14.3、Hybrid 1.15.1 和 Hybrid 1.16.0 中修复 对于 Hybrid 组织,系统不会捕获或结算周期性费用、设置费用和充值费用数据

对于启用了创收功能的 Hybrid 组织,系统不会针对后付费账单捕获或结算周期性费用 (RECURRING_FEE)、设置费用 (SETUP_FEE) 和充值费用 (TOPUP_FEE) 数据。对于预付费账单,系统会从钱包中扣除这些费用,但不会报告。
438850078 Apigee 未解决

当后端响应包含与父架构相同的判别器类型时,OASValidation 政策中会发生无限递归。此问题可能会导致 StackOverflowError

449012244 Apigee 未解决

为 SSE(服务器发送的事件)目标使用单独的目标端点定义。将 SSE 和非 SSE 目标端点混合使用可能会导致行为不一致,例如 response.content 流变量为空。

445936920 Apigee 1-16-0-apigee-2 及更高版本 未解决

之前未检测到的 DNS 配置问题现在可能会导致 DNS 错误。Apigee 移除了 1-16-0-apigee-2 中的自动 DNS 后备功能。此移除操作会消除平台对 DNS 错误配置的恢复能力,现在可能会导致 DNS 错误。

通过检查运行时日志中的 DNS 解析错误来查找相关错误。

383372330 Apigee 模拟器版本 1.13.0 至 1.15.1(不含 1.15.1) 已在 Apigee 模拟器 1.15.1 版及更高版本中修复

所有代理部署在本地失败,并显示包含 Error parsing deployment report as JSON 的错误消息:

06/13/2025 6:45 PM EMULATOR INFO Deploying environment testenv, to Container apigee-1.14.2 (1.14.2)
06/13/2025 6:45 PM EMULATOR ERROR Error parsing deployment report as JSON
06/13/2025 6:45 PM EMULATOR ERROR null
06/13/2025 6:45 PM EMULATOR ERROR Environment testenv deployment, to Container apigee-1.14.2 (1.14.2) failed with Error: 500
06/13/2025 6:45 PM EMULATOR ERROR Deploy to Container apigee-1.14.2 (1.14.2), failed with Error: Environment testenv deployment, to Container apigee-1.14.2 (1.14.2) failed with Error: 500
修复:更新到 Apigee 模拟器版本 1.15.1 或更高版本。