Dynamic forward proxy

This documentation is for the Envoy v3 API.

As of Envoy v1.18 the v2 API has been removed and is no longer supported.

If you are upgrading from v2 API config you may wish to view the v2 API documentation:

config/filter/http/dynamic_forward_proxy/v2alpha/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 may be referenced by 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:

  1. {
  2. "dns_cache_config": "{...}",
  3. "save_upstream_address": "..."
  4. }

dns_cache_config

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

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.

  1. {
  2. "host_rewrite_literal": "...",
  3. "host_rewrite_header": "..."
  4. }

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.