It is possible to rewrite URLs with Envoy for the backend. Please note that the HTML output needs to have the proper routes! (That is why I am not going to investigate further in this direction).
REF: https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#route-route
Also note that the string is going to be rendered literally for direct_response –> body –> inline_string, even if you include HTML tags into it. Probably a header is set that this is to be interpreted as text by the browser.
filters: - name: envoy.http_connection_manager config: stat_prefix: ingress_https route_config: virtual_hosts: - name: backend domains: ["*"] routes: - 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: {}