--- layout: docs page_title: Service Mesh Proxy Overview description: >- In Consul service mesh, each service has a sidecar proxy that secures connections with other services in the mesh without modifying the underlying application code. You can use the built-in proxy, Envoy, or a custom proxy to handle communication and verify TLS connections. --- # Service Mesh Proxy Overview A Connect-aware proxy enables unmodified applications to use Connect. A per-service proxy sidecar transparently handles inbound and outbound service connections, automatically wrapping and verifying TLS connections. Consul includes its own built-in L4 proxy and has first class support for Envoy. You can choose other proxies to plug in as well. This section describes how to configure Envoy or the built-in proxy using Connect, and how to integrate the proxy of your choice. To ensure that services only allow external connections established via the Connect protocol, you should configure all services to only accept connections on a loopback address. ~> **Deprecation Note:** Managed Proxies are a deprecated method for deploying sidecar proxies, and have been removed in Consul 1.6. See [managed proxy deprecation](/consul/docs/connect/proxies/managed-deprecated) for more information. If you are using managed proxies we strongly recommend that you switch service definitions for registering proxies. ## Dynamic Upstreams Require Native Integration If an application requires dynamic dependencies that are only available at runtime, it must [natively integrate](/consul/docs/connect/native) with Connect. After natively integrating, the HTTP API or [DNS interface](/consul/docs/discovery/dns#connect-capable-service-lookups) can be used. !> Connect proxies do not currently support dynamic upstreams.