.. _envoy_api_file_envoy/api/v2/rds.proto: HTTP route configuration ======================== * Routing :ref:`architecture overview <arch_overview_http_routing>` * HTTP :ref:`router filter <config_http_filters_router>` .. _envoy_api_msg_RouteConfiguration: RouteConfiguration ------------------ `[RouteConfiguration proto] <https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/rds.proto#L44>`_ .. code-block:: json { "name": "...", "virtual_hosts": [], "internal_only_headers": [], "response_headers_to_add": [], "response_headers_to_remove": [], "request_headers_to_add": [], "request_headers_to_remove": [], "validate_clusters": "{...}" } .. _envoy_api_field_RouteConfiguration.name: name (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) The name of the route configuration. For example, it might match :ref:`route_config_name <envoy_api_field_config.filter.network.http_connection_manager.v2.Rds.route_config_name>` in :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`. .. _envoy_api_field_RouteConfiguration.virtual_hosts: virtual_hosts (:ref:`route.VirtualHost <envoy_api_msg_route.VirtualHost>`) An array of virtual hosts that make up the route table. .. _envoy_api_field_RouteConfiguration.internal_only_headers: internal_only_headers (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) 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 :ref:`config_http_conn_man_headers_x-envoy-internal` for more information. .. _envoy_api_field_RouteConfiguration.response_headers_to_add: response_headers_to_add (:ref:`core.HeaderValueOption <envoy_api_msg_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 :ref:`envoy_api_msg_route.VirtualHost` or :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`. .. _envoy_api_field_RouteConfiguration.response_headers_to_remove: response_headers_to_remove (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Specifies a list of HTTP headers that should be removed from each response that the connection manager encodes. .. _envoy_api_field_RouteConfiguration.request_headers_to_add: request_headers_to_add (:ref:`core.HeaderValueOption <envoy_api_msg_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 :ref:`envoy_api_msg_route.VirtualHost` or :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`. .. _envoy_api_field_RouteConfiguration.request_headers_to_remove: request_headers_to_remove (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Specifies a list of HTTP headers that should be removed from each request routed by the HTTP connection manager. .. _envoy_api_field_RouteConfiguration.validate_clusters: validate_clusters (`BoolValue <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#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 :ref:`route_config <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>` option. This setting default to false if the route table is loaded dynamically via the :ref:`rds <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>` option. Users may which to override the default behavior in certain cases (for example when using CDS with a static route table).