- Installing Envoy on Ubuntu 24 gives you access to a modern, high-performance edge and service proxy, comparable to NGINX or HAProxy.
- Built in C++, it supports HTTP/2, gRPC, advanced load‑balancing and observability
- Many large tech companies use Envoy in production
Installing Envoy Proxy
First, make sure your package index is up to date, and install necessary dependencies:
sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https curl gnupg2 lsb-release ca-certificates -y
Add Envoy’s GPG Signing Key
Fetch and import the key directly into a secure keyring.
wget -O- https://apt.envoyproxy.io/signing.key \
| sudo gpg --dearmor -o /etc/apt/keyrings/envoy-keyring.gpg
This ensures APT can verify packages from the official Envoy repository
Add the Envoy APT Repository
Set up the proper repository line for Bookworm:
echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/envoy-keyring.gpg] \
https://apt.envoyproxy.io bookworm main" \
| sudo tee /etc/apt/sources.list.d/envoy.list
This enables Debian to fetch Envoy packages directly from the official source
Update and Install Envoy
Update the package list and install Envoy using:
sudo apt-get update
sudo apt-get install envoy
Once installed, verify the installation:
envoy –version
If all is correct, Envoy should display its version.
Configuration
Vim /etc/envoy/demo.yaml:
static_resources:
listeners:
– name: main_listener
address:
socket_address: { address: 0.0.0.0, port_value: 8080 }
filter_chains:
– filters:
– name: envoy.filters.network.http_connection_manager
typed_config:
“@type”: type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: ingress_http
access_log:
– name: envoy.access_loggers.stdout
typed_config:
“@type”: type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
route_config:
name: local_route
virtual_hosts:
– name: local_service
domains: [“*”]
routes:
– match: { prefix: “/” }
route: { cluster: backend }
http_filters:
– name: envoy.filters.http.router
clusters:
– name: backend
connect_timeout: 0.5s
type: STATIC
load_assignment:
cluster_name: backend
endpoints:
– lb_endpoints:
– endpoint:
address:
socket_address: { address: 127.0.0.1, port_value: 3000 }
If you start a minimal HTTP server with:
python3 -m http.server 3000
Envoy is configured to forward requests to that backend on port 3000, then:
Envoy will proxy the request to your Python HTTP server, which by default serves files from the current directory. If an index.html file exists, it returns its contents.
Conclusion
Envoy Proxy is a powerful and efficient tool designed to handle the challenges of modern microservices systems.Its advanced features, such as dynamic traffic routing, observability, and robust security mechanisms, make it an essential component for building resilient and scalable cloud native applications.
If you face any challenges while installing Envoy on Ubuntu 24 or need help configuring it for production use, our expert team is here to assist. At Skynats, we offer reliable Server Management Services to ensure your servers and proxy tools like Envoy are installed, secured, and optimized for performance.
Contact us today to get professional support and streamline your infrastructure with ease.