envoy che serve una risposta statica
Oltre al routing e al reindirizzamento, potete servire risposte statiche con Envoy.
In questo caso voglio servire una risposta vietata (403)
route_config:
virtual_hosts:
- nome: picockpit
domini: ["picockpit.local:443", "picockpit.local"]
percorsi:
- match: { prefix: "/demo" }
risposta_diretta:
stato: 403
corpo:
inline_string: "Proibito".
- match: {prefisso: "/"}
percorso: {cluster: target_picockpit}
Può anche servire file dal filesystem locale come risposta.
Rif:
- 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. Se ottieni l'errore
errore nell'inizializzazione della configurazione '/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), stai cercando di impostare la stringa direttamente su body - devi impostarla come sub-value di inline_string of body. vedi il mio esempio sopra.