Dynamic forward proxy (proto)

extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig

[extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig proto]

Configuration for the dynamic forward proxy HTTP filter. See the architecture overview for more information.

This extension has the qualified name envoy.filters.http.dynamic_forward_proxy

Note

This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted.

Tip

This extension extends and can be used with the following extension category:

This extension must be configured with one of the following type URLs:

{
  "dns_cache_config": {...},
  "sub_cluster_config": {...},
  "save_upstream_address": ...
}
dns_cache_config

(extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig) The DNS cache configuration that the filter will attach to. Note this configuration must match that of associated dynamic forward proxy cluster configuration.

Only one of dns_cache_config, sub_cluster_config may be set.

sub_cluster_config

(extensions.filters.http.dynamic_forward_proxy.v3.SubClusterConfig) The configuration that the filter will use, when the related dynamic forward proxy cluster enabled sub clusters.

Only one of dns_cache_config, sub_cluster_config may be set.

save_upstream_address

(bool) When this flag is set, the filter will add the resolved upstream address in the filter state. The state should be saved with key envoy.stream.upstream_address (See upstream_address.h).

extensions.filters.http.dynamic_forward_proxy.v3.PerRouteConfig

[extensions.filters.http.dynamic_forward_proxy.v3.PerRouteConfig proto]

Per route Configuration for the dynamic forward proxy HTTP filter.

{
  "host_rewrite_literal": ...,
  "host_rewrite_header": ...
}
host_rewrite_literal

(string) Indicates that before DNS lookup, the host header will be swapped with this value. If not set or empty, the original host header value will be used and no rewrite will happen.

Note: this rewrite affects both DNS lookup and host header forwarding. However, this option shouldn’t be used with HCM host rewrite given that the value set here would be used for DNS lookups whereas the value set in the HCM would be used for host header forwarding which is not the desired outcome.

Only one of host_rewrite_literal, host_rewrite_header may be set.

host_rewrite_header

(string) Indicates that before DNS lookup, the host header will be swapped with the value of this header. If not set or empty, the original host header value will be used and no rewrite will happen.

Note: this rewrite affects both DNS lookup and host header forwarding. However, this option shouldn’t be used with HCM host rewrite header given that the value set here would be used for DNS lookups whereas the value set in the HCM would be used for host header forwarding which is not the desired outcome.

Note

If the header appears multiple times only the first value is used.

Only one of host_rewrite_literal, host_rewrite_header may be set.

extensions.filters.http.dynamic_forward_proxy.v3.SubClusterConfig

[extensions.filters.http.dynamic_forward_proxy.v3.SubClusterConfig proto]

{
  "cluster_init_timeout": {...}
}
cluster_init_timeout

(Duration) The timeout used for sub cluster initialization. Defaults to 5s if not set.