V terminologii HTTP působí jako origin server na spojení obráceném ke klientovi, zatímco požadavek překládá pro příchozí doručení. Klienti normálně adresují reverzní proxy, místo aby ji vybírali jako univerzální relay.
Reverzní proxy běžně provádějí terminaci TLS, směrování požadavků, rozložení zátěže, cachování, integraci autentizace, omezení rychlosti a řízené zveřejnění interních služeb. Správný návrh rovněž omezuje přímý přístup k backendu a definuje, kterým hlavičkám přidaným proxy smí aplikace důvěřovat. Veřejné jméno, certifikáty, health checky a chování při selhání proxy se stávají součástí architektury služby.
Klíčové body
Směrování a izolaceSměrujte pouze očekávané hostitele, cesty, metody a protokoly. Umístěte backendy na řízené sítě a zabraňte internetovým klientům obejít proxy a dosáhnout origin přímo.
Identita a metadataPřed přidáním autoritativních hodnot odstraňte nedůvěryhodné předávací hlavičky. Aplikace by jim měly důvěřovat pouze z určených adres proxy a měly by zachovávat audiovatelnou atribuci klienta.
Dostupnost a soukromíPoužívejte ohraničené timeouty, limity velikosti požadavků, health checky, kapacitní kontroly a odolné instance. Minimalizujte logy a chraňte relační tokeny, autorizační hlavičky a dešifrovaný obsah.
Důležité omezeníReverzní proxy automaticky nečiní aplikaci bezpečnou a není synonymem firewallu webových aplikací. Nezabezpečená aplikační logika, permisivní trasy, obcházení originu, záměna hlaviček či kompromitace proxy mohou službu stále vystavit. Terminace TLS rovněž nechává proxy zacházet s plaintextem a může vyžadovat chráněné opětovné šifrování k backendům.