Abgesandter, der eine statische Antwort liefert
Neben Routing und Redirecting können Sie mit Envoy auch statische Antworten ausliefern.
In diesem Fall möchte ich eine verbotene Antwort (403) liefern
route_config:
virtuelle_hosts:
- Name: picockpit
Domänen: ["picockpit.local:443", "picockpit.local"]
Routen:
- übereinstimmen: { prefix: "/demo" }
direkte_Antwort:
Status: 403
Körper:
inline_string: "Forbidden".
- übereinstimmen: {Präfix: "/"}
Route: {cluster: ziel_picockpit}
Er kann auch Dateien aus dem lokalen Dateisystem als Antwort bereitstellen.
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. Wenn Sie den Fehler erhalten
Fehler beim Initialisieren der Konfiguration '/etc/envoy/envoy.yaml': Unable to parse JSON as proto (INVALID_ARGUMENT:(route_config.virtual_hosts[0].routes[2].direct_response.body): invalid value "Forbidden." for type type.googleapis.com/envoy.api.v2.core.DataSource), Sie versuchen, den String direkt auf body zu setzen - Sie müssen ihn als Unterwert von inline_string von body setzen. siehe mein Beispiel oben.