Field Guide · concept

A reverse proxy is a server that sits in front of one or more backend servers and forwards client requests to them, presenting a single front door while handling routing, encryption, caching, and security on their behalf.1

Overview

To the client, the reverse proxy is the website; it then decides which backend should handle each request. Along the way it commonly terminates TLS (so backends speak plain HTTP internally), routes by hostname or URL path, caches responses, compresses output, and shields backends from direct exposure. This contrasts with a forward proxy, which sits in front of clients to reach the wider internet. Popular reverse proxies include nginx, HAProxy, and Caddy.

Where it fits

A reverse proxy overlaps heavily with a load balancer — both front a pool of backends — and the same software often does both. It is a building block for web hosting, high availability, and the edge of a content delivery network. For a GopherTrunk web dashboard, a reverse proxy is a tidy way to add HTTPS and a clean public address in front of the decoder’s local web port.

Sources

  1. Reverse proxy — Wikipedia, on reverse proxies and their roles. 

See also