Reverse proxy (обратный прокси) — сервер, стоящий между пользователями и вашим backend-приложением. Пользователь думает, что общается напрямую с вашим сайтом, а на самом деле все запросы принимает reverse-proxy и передаёт их дальше — Node.js, Python, Go-приложению.
Зачем нужен: (1) SSL termination — расшифровка HTTPS в одном месте, backend работает с обычным HTTP, (2) балансировка между несколькими одинаковыми backend-инстансами, (3) кэширование — прокси помнит ответы и не бьёт backend лишний раз, (4) защита — reverse-proxy может отфильтровать плохие запросы (WAF, rate-limit), backend не видит их, (5) разные приложения на одном IP — по домену routing на разные backend.
Разница с обычным (forward) proxy: forward-proxy стоит на стороне клиента, скрывает клиента от интернета (SOCKS, VPN). Reverse-proxy стоит на стороне сервера, скрывает backend от клиента. Nginx, HAProxy, Traefik, Envoy, Caddy — самые популярные reverse-proxy 2020-х.