Envoy-Routing und Rewriting-Snippet

Es ist möglich, URLs mit Envoy für das Backend umzuschreiben. Bitte beachten Sie, dass die HTML-Ausgabe die richtigen Routen haben muss! (Deshalb werde ich nicht weiter in diese Richtung forschen).

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

Beachten Sie auch, dass die Zeichenkette bei direct_response -> body -> inline_string wörtlich wiedergegeben wird, auch wenn Sie HTML-Tags darin einfügen. Wahrscheinlich ist ein Header gesetzt, der besagt, dass dies vom Browser als Text interpretiert werden soll.

      Filter:
      - name: envoy.http_connection_manager
        config:
          stat_prefix: ingress_https
          route_config:
            virtual_hosts:
            - name: backend
              domains: ["*"]
              Routen:
              - match: { prefix: "/taxgod/" }
                route: { cluster: target_taxgod, prefix_rewrite: "/"}
              - match: { prefix: "/taxgod" }
                route: { cluster: target_taxgod, prefix_rewrite: "/"}
              - match: { prefix: "/picockpit/" }
                route: { cluster: target_picockpit, prefix_rewrite: "/" }
              - match: { prefix: "/picockpit" }
                route: { cluster: target_picockpit, prefix_rewrite: "/" }
              - match: { prefix: "/gagarin" }
                direct_response: { status: 200, body: { inline_string: "Bringing redemption to my dark night. Beautiful surrender is where I wanna be." } }
              - match: { prefix: "/" }
                direct_response: { status: 200, body: { inline_string: " a href="/taxgod" Taxgod /a - a href="/picockpit" PiCockpit /a " } }
          http_filters:
          - name: envoy.router
            config: {}