enviado sirviendo una respuesta estática
Además de enrutar y redirigir, puede servir respuestas estáticas con Envoy.
En este caso quiero servir una respuesta prohibida (403)
route_config:
virtual_hosts:
- nombre: picockpit
dominios: ["picockpit.local:443", "picockpit.local"]
rutas:
- coincidencia: { prefijo: "/demo" }
respuesta_directa:
estado: 403
cuerpo:
inline_string: "Prohibido".
- coincidir: {prefijo: "/"}
ruta: {cluster: target_picockpit}
También puede servir archivos del sistema de archivos local como respuesta.
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. Si te sale el error
error al inicializar la configuración '/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.googleapis.com/envoy.api.v2.core.DataSource), estás intentando establecer la cadena directamente en body - tienes que establecerla como un subvalor de inline_string de body. mira mi ejemplo de arriba.