53GB

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

Exit mobile version