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

Envoy主机名重写:保留通配符子域的流量转发配置求助

解决Envoy转发任意子域名请求到对应目标子域名的问题

我明白你的需求了——要让Envoy把foo.bar.com/myapp这类请求(其中foo可以是任意合法子域名)转发到foo.fiz.net/myapp。其实这个场景可以通过Envoy的路由正则匹配+主机头重写组合实现,下面是具体的配置方案:

核心配置示例

首先定义后端集群(假设你的服务运行在fiz.net的80端口,如果是HTTPS服务,后续会补充对应配置):

clusters:
- name: myapp_backend_cluster
  type: STRICT_DNS
  load_assignment:
    cluster_name: myapp_backend_cluster
    endpoints:
    - lb_endpoints:
      - endpoint:
          address:
            socket_address:
              address: fiz.net
              port_value: 80

然后在虚拟主机(virtual_host)里配置关键的路由规则,重点是通过正则捕获子域名并替换目标主机:

virtual_hosts:
- name: bar_com_vhost
  # 先匹配所有bar.com的子域名请求
  domains: ["*.bar.com"]
  routes:
  - match:
      # 只处理/myapp路径的请求
      prefix: "/myapp"
      # 匹配请求的主机头(:authority),捕获foo部分
      headers:
      - name: ":authority"
        regex_match: "^([a-zA-Z0-9-]+)\\.bar\\.com$"
    route:
      cluster: myapp_backend_cluster
      # 用捕获到的第一个分组(即foo)替换目标主机
      host_rewrite_with_substitution: "\\1.fiz.net"

配置细节解释

  • 域名范围匹配:domains: ["*.bar.com"]确保所有bar.com的子域名请求都进入这个虚拟主机处理,避免无关流量干扰。
  • 路径精准过滤:prefix: "/myapp"限定只处理路径以/myapp开头的请求,符合你的业务场景需求。
  • 子域名正则捕获:通过:authority头的regex_match规则,把foo.bar.com中的foo捕获为第一个正则分组(\\1)。这里的正则^([a-zA-Z0-9-]+)\\.bar\\.com$可以根据你的实际子域名规则调整(比如允许下划线就添加_字符)。
  • 主机头动态重写:host_rewrite_with_substitution: "\\1.fiz.net"直接把目标主机替换成foo.fiz.net,同时原请求的路径/myapp会被完整保留并转发到后端服务。

HTTPS后端适配说明

如果你的后端是HTTPS服务,需要给集群加上TLS配置,确保Envoy能和后端建立安全连接:

clusters:
- name: myapp_backend_cluster
  type: STRICT_DNS
  transport_socket:
    name: envoy.transport_sockets.tls
    typed_config:
      "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
      sni: "\\1.fiz.net"
  load_assignment:
    cluster_name: myapp_backend_cluster
    endpoints:
    - lb_endpoints:
      - endpoint:
          address:
            socket_address:
              address: fiz.net
              port_value: 443

这样Envoy就会使用动态生成的SNI(foo.fiz.net)和后端完成TLS握手,保证通信安全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 09:02:40