Rota e Redirecionamento com o Enviado
Um exemplo envoy.yaml mostrando como rotear e redirecionar.
Há diferentes opções, veja aqui
https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#route-redirectaction
Este envoy.yaml rotas /taxgod e /taxgod/ (o segundo provavelmente poderia ser omitido porque o primeiro também deveria combiná-lo, eu acho) para um novo porto e um protocolo diferente.
/picockpit é simplesmente redireccionado para /
e então finalmente / é encaminhado para o backend do target_picockpit
estática_recursos: ouvintes: - endereço: endereço_do_saco: endereço: 0.0.0.0 valor_da_porto: 80 filter_chains: - filtros: - nome: envoy.http_connection_manager configurar: codec_type: auto stat_prefix: ingresso_http route_config: virtual_hosts: - nome: backend domínios: ["*"] rotas: - correspondência: { prefixo: "/" } redireccionar: path_redirect: "/" https_redirect: true http_filters: - nome: envoy.router configurar: {} - morada: endereço_do_soquete: endereço: 0.0.0.0 valor_da_porto: 443 filter_chains: - tls_context: texto_comum_tls_context: tls_certificates: - cadeia_de_certificados: { nome_do_filtro: "/etc/example-com.crt" } private_key: { filename: "/etc/example-com.key" } alpn_protocols: ["h2,http/1.1" ] filtros: - nome: envoy.http_connection_manager configurar: stat_prefix: ingresso_https route_config: virtual_hosts: - nome: backend domínios: ["*"] rotas: - correspondência: { prefixo: "/taxgod" } redirect: { port_redirect: 2080, path_redirect: "/", scheme_redirect: "http"} - partida: Prefixo: "/taxgod" } redirect: { port_redirect: 2080, path_redirect: "/", scheme_redirect: "http"} - partida: Prefixo: "/picockpit/" } redireccionar: { path_redirect: "/" } - partida: Prefixo: "/picockpit" } redireccionar: { path_redirect: "/" } - partida: Prefixo: "/gagarin" } resposta_directa: { status: 200, corpo: { inline_string: "Trazendo a redenção para a minha noite escura. A bela rendição é onde eu quero estar." } } - partida: Prefixo: "/" } rota: { cluster: target_picockpit } http_filters: - nome: envoy.router configurar: {} grupos: - nome: target_taxgod connect_timeout: 0.25s tipo: strict_dns lb_policy: round_robin anfitriões: - endereço_do_saco: endereço: taxgod port_value: 3000 - nome: target_picockpit connect_timeout: 0.25s tipo: strict_dns lb_policy: round_robin anfitriões: - endereço_do_saco: endereço: picockpit port_value: 3000 administração: access_log_path: "/tmp/envoy.log" morada: endereço_do_soquete: endereço: 0.0.0.0 valor_da_porta: 9901