envoy die een statisch antwoord serveert
Naast routing en redirecting kun je met Envoy ook statische antwoorden serveren.
In dit geval wil ik een verboden antwoord (403)
route_config:
virtual_hosts:
- naam: picockpit
domeinen: ["picockpit.local:443", "picockpit.local"]
routes:
- match: { prefix: "/demo" }
direct_response:
status: 403
lichaam:
inline_string: "Verboden."
- match: {prefix: "/"}
route: {cluster: doel_picockpit}
Het kan ook bestanden van het lokale bestandssysteem serveren als antwoord.
Ref:
- https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/core/base.proto#envoy-api-msg-core-datasource
- https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#envoy-api-msg-route-directresponseaction
- https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#envoy-api-msg-route-route
PS. Als je de foutmelding krijgt
fout bij initialiseren configuratie '/etc/envoy/envoy.yaml': Unable to parse JSON as proto (INVALID_ARGUMENT:(route_config.virtual_hosts[0].routes[2].direct_response.body): ongeldige waarde "Verboden." voor type.googleapis.com/envoy.api.v2.core.DataSource), je probeert de string direct op body in te stellen - je moet het instellen als een subwaarde van inline_string van body. zie mijn voorbeeld hierboven.