Envoy路由和重写片段

可以用Envoy为后端重写URL。请注意,HTML输出需要有适当的路由(这就是为什么我不打算在这个方向上进一步研究)。

REF: https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#route-route 

还要注意的是,对于direct_response -> body -> inline_string,即使你在其中加入了HTML标签,这个字符串也会被按字面意思呈现。可能是设置了一个头,让浏览器将其解释为文本。

      过滤器。
      - name: envoy.http_connection_manager
        配置。
          stat_prefix: ingress_https
          route_config:
            virtual_hosts:
            - name: backend
              域名。["*"]
              路由。
              - 匹配。{ prefix:"/taxgod/"}
                路线。{ cluster: target_taxgod, prefix_rewrite:"/"}
              - 匹配。{ prefix:"/taxgod" }
                路线。{ cluster: target_taxgod, prefix_rewrite:"/"}
              - 匹配。{ prefix:"/picockpit/"}
                路线。{ cluster: target_picockpit, prefix_rewrite:"/" }
              - 匹配。{ prefix:"/picockpit" }
                路线。{ cluster: target_picockpit, prefix_rewrite:"/" }
              - 匹配。{ prefix:"/gagarin" }
                direct_response:{ status: 200, body:{ inline_string:"给我的黑夜带来救赎。美丽的投降是我想去的地方。"}}
              - 匹配。{ prefix:"/" }
                direct_response:{ status: 200, body:{ inline_string:" a href="/taxgod" Taxgod /a - a href="/picockpit" PiCockpit /a " }}
          http_filters:
          - name: envoy.router
            配置。{}