You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GCP外部负载均衡器的Ingress中去除/api前缀实现路径重写?

GCP GCE Ingress 路径前缀去除配置方案

要实现将/api前缀的请求重写为后端服务的无前缀路径(比如/api/book转成/book),在GCP的GCE类型Ingress中,需要借助FrontendConfig资源来配置路径重写规则,具体操作如下:

1. 创建FrontendConfig资源

创建一个用于定义路径重写规则的FrontendConfig,规则会捕获/api/后的所有内容,并将请求路径重写为捕获到的部分:

apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig
metadata:
  name: api-rewrite-config
spec:
  redirectToHttps:
    enabled: true # 可选,若已配置证书可保留
  urlRewrite:
    pathPrefixRewrite: "/"
    pathRedirectRewrite: true

2. 修改原Ingress配置

更新你的Ingress资源,关联上面创建的FrontendConfig,并调整路径匹配规则为/api/*,同时指定路径类型为ImplementationSpecific(适配GCE Ingress的通配符匹配逻辑):

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: basic-ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: some-ip
    networking.gke.io/managed-certificates: some-cert
    kubernetes.io/ingress.class: "gce"
    # 关联FrontendConfig
    networking.gke.io/v1beta1.FrontendConfig: api-rewrite-config
spec:
  defaultBackend:
    service:
      name: some-web-app
      port:
        number: 80
  rules:
  - http:
      paths:
      - path: /api/*
        pathType: ImplementationSpecific
        backend:
          service:
            name: some-api
            port:
              number: 80

配置说明

  • pathPrefixRewrite: "/" 表示将匹配到的/api前缀替换为根路径,结合pathRedirectRewrite: true,会自动把/api/book这类请求的路径重写为/book后转发给后端服务。
  • 路径设置为/api/*是为了匹配所有以/api开头的子路径,ImplementationSpecific是GCE Ingress支持通配符匹配所需的路径类型。

内容的提问来源于stack exchange,提问作者Chiawen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 00:20:01