How to Install and Configure Envoy Proxy on Debian 12



How to Install and Configure Envoy Proxy on Debian 12

How to Install and Configure Envoy Proxy on Debian 12

Envoy proxy is a free and open-source service proxy designed for cloud-native applications. It’s comparable to Nginx and haproxy which can be used as a reverse proxy, but Envoy proxy is designed for modern services and infrastructure.

Envoy is a high-performance service proxy that works with any application language. It uses YAML configuration files for static configuration and also uses a set of gRPC-based APIs.

In this tutorial, we will show you how to install and configure the Envoy proxy on the Debian 12 server.

Useful Links:
VPS/VDS – https://www.mivocloud.com/

Commands Used:
sudo apt install gnupg2 apt-transport-https -y
curl -sL ‘https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key’ | sudo gpg –dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg

echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum –check

echo “deb [arch=amd64
signed-by=/usr/share/keyrings/getenvoy-keyring.gpg]
https://deb.dl.getenvoy.io/public/deb/debian
$(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/getenvoy.list

sudo apt update
sudo apt install getenvoy-envoy
envoy –version
envoy –help
mkdir -p /etc/envoy/
sudo nano /etc/envoy/demo.yaml
static_resources:

listeners:
– name: listener_0
address:
socket_address:
address: 0.0.0.0
port_value: 80
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
http_filters:
– name: envoy.filters.http.router
typed_config:
“@type”: type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
route_config:
name: local_route
virtual_hosts:
– name: local_service
domains: [“*”]
routes:
– match:
prefix: “/”
route:
host_rewrite_literal: www.envoyproxy.io
cluster: service_envoyproxy_io

clusters:
– name: service_envoyproxy_io
type: LOGICAL_DNS
connect_timeout: 5s
# Comment out the following line to test on v6 networks
dns_lookup_family: V4_ONLY
load_assignment:
cluster_name: service_envoyproxy_io
endpoints:
– lb_endpoints:
– endpoint:
address:
socket_address:
address: www.envoyproxy.io
port_value: 443
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
“@type”: type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
sni: www.envoyproxy.io

envoy –mode validate -c /etc/envoy/demo.yaml
envoy -c /etc/envoy/demo.yaml
sudo nano /etc/hosts
YOUR IP www.envoyproxy.io

Comments are closed.