.. _envoy_v3_api_file_envoy/config/core/v3/http_uri.proto:

HTTP Service URI 
=================


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:

    :ref:`api/v2/core/http_uri.proto <v1.17.2:envoy_api_file_envoy/api/v2/core/http_uri.proto>`



.. _envoy_v3_api_msg_config.core.v3.HttpUri:

config.core.v3.HttpUri
----------------------

:repo:`[config.core.v3.HttpUri proto] <api/envoy/config/core/v3/http_uri.proto#L18>`

Envoy external URI descriptor

.. code-block:: json

  {
    "uri": "...",
    "cluster": "...",
    "timeout": "{...}"
  }

.. _envoy_v3_api_field_config.core.v3.HttpUri.uri:

uri
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) The HTTP server URI. It should be a full FQDN with protocol, host and path.
  
  Example:
  
  .. code-block:: yaml
  
     uri: https://www.googleapis.com/oauth2/v1/certs
  
  
  
.. _envoy_v3_api_field_config.core.v3.HttpUri.cluster:

cluster
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) A cluster is created in the Envoy "cluster_manager" config
  section. This field specifies the cluster name.
  
  Example:
  
  .. code-block:: yaml
  
     cluster: jwks_cluster
  
  
  Specify how `uri` is to be fetched. Today, this requires an explicit
  cluster, but in the future we may support dynamic cluster creation or
  inline DNS resolution. See `issue
  <https://github.com/envoyproxy/envoy/issues/1606>`_.
  
  
.. _envoy_v3_api_field_config.core.v3.HttpUri.timeout:

timeout
  (`Duration <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration>`_, *REQUIRED*) Sets the maximum duration in milliseconds that a response can take to arrive upon request.