Topic cluster

Reverse proxy configuration

nginx, HAProxy, Envoy, Caddy and Traefik: routing semantics, upstream selection, health checks, WebSockets, gRPC and session affinity, compared honestly.

11 guides · cluster reviewed 8 September 2026

A reverse proxy is the piece of infrastructure with the highest ratio of "looks simple" to "has surprising semantics". Two lines of configuration decide whether a path prefix is stripped, whether a WebSocket survives, whether a failed backend is retried, and whether the application ever learns who the client was.

This cluster covers the five reverse proxies most teams actually run, with an emphasis on the behaviour that differs between them rather than a restatement of each manual.

Choosing#

nginx vs HAProxy vs Envoy vs Caddy vs Traefik is the decision page. The short form:

Per proxy#

nginx as a reverse proxy is the longest of these, because nginx has the most defaults that surprise people and the most configuration that has to be written by hand. The others follow the same shape: HAProxy, Envoy, Caddy and Traefik.

The behaviours that catch everyone#

Every guide in this cluster#