HTTP route configuration¶
Routing architecture overview
HTTP router filter
RouteConfiguration¶
{
"name": "...",
"virtual_hosts": [],
"internal_only_headers": [],
"response_headers_to_add": [],
"response_headers_to_remove": [],
"request_headers_to_add": [],
"request_headers_to_remove": [],
"most_specific_header_mutations_wins": "...",
"validate_clusters": "{...}"
}
- name
(string) The name of the route configuration. For example, it might match route_config_name in config.filter.network.http_connection_manager.v2.Rds.
- virtual_hosts
(route.VirtualHost) An array of virtual hosts that make up the route table.
- internal_only_headers
(string) Optionally specifies a list of HTTP headers that the connection manager will consider to be internal only. If they are found on external requests they will be cleaned prior to filter invocation. See x-envoy-internal for more information.
- response_headers_to_add
(core.HeaderValueOption) Specifies a list of HTTP headers that should be added to each response that the connection manager encodes. Headers specified at this level are applied after headers from any enclosed route.VirtualHost or route.RouteAction. For more information, including details on header value syntax, see the documentation on custom request headers.
- response_headers_to_remove
(string) Specifies a list of HTTP headers that should be removed from each response that the connection manager encodes.
- request_headers_to_add
(core.HeaderValueOption) Specifies a list of HTTP headers that should be added to each request routed by the HTTP connection manager. Headers specified at this level are applied after headers from any enclosed route.VirtualHost or route.RouteAction. For more information, including details on header value syntax, see the documentation on custom request headers.
- request_headers_to_remove
(string) Specifies a list of HTTP headers that should be removed from each request routed by the HTTP connection manager.
- most_specific_header_mutations_wins
(bool) By default, headers that should be added/removed are evaluated from most to least specific:
route level
virtual host level
connection manager level
To allow setting overrides at the route or virtual host level, this order can be reversed by setting this option to true. Defaults to false.
- validate_clusters
(BoolValue) An optional boolean that specifies whether the clusters that the route table refers to will be validated by the cluster manager. If set to true and a route refers to a non-existent cluster, the route table will not load. If set to false and a route refers to a non-existent cluster, the route table will load and the router filter will return a 404 if the route is selected at runtime. This setting defaults to true if the route table is statically defined via the route_config option. This setting default to false if the route table is loaded dynamically via the rds option. Users may wish to override the default behavior in certain cases (for example when using CDS with a static route table).