Оба носят название «прокси» и оба встают посередине. Разница в том, от чьего имени они это делают. Forward proxy — представитель клиента: он выполняет запрос вместо вас. Reverse proxy — представитель сервера: он принимает запросы от имени сервера. Это различие в одну фразу объясняет все остальные отличия.
Forward proxy стоит на стороне пользователя, reverse proxy — на стороне сервера. Один и тот же запрос может пройти через оба; они не являются альтернативой друг другу.
Сравнение ролей
Все продукты на этом сайте относятся к категории forward proxy ; reverse proxy — это компонент инфраструктуры тех, кто публикует сайты.
Для чего нужен reverse proxy?
Перед современным веб-сайтом почти всегда стоит reverse proxy. Его задачи:
Последний слой — это та стена, с которой сталкивается сторона, использующая forward proxy: именно здесь работают правила фильтрации ботов.
Простой пример Nginx
X-Forwarded-For заголовок добавляется именно здесь. А на стороне forward proxy требуется, чтобы этот заголовок не добавлялся — один и тот же заголовок в двух архитектурах имеет противоположный смысл.
Один заголовок, противоположный смысл
X-Forwarded-For на стороне reverse proxy является хорошей практикой: он позволяет серверу на бэкенде видеть реальный IP посетителя. На стороне forward proxy тот же заголовок нарушает анонимность: он передаёт целевому сайту ваш реальный адрес. Какие заголовки передаёт ваш прокси, вы можете измерить с помощью тест анонимности ; результат «Elite» означает, что этот заголовок не отправляется вовсе.
Что часто путают
- CDN — это reverse proxy: такие сервисы, как Cloudflare и Fastly, выполняют именно эту роль.
- API gateway — тоже reverse proxy: он добавляет аутентификацию и маршрутизацию.
- Название gateway proxy вводит в заблуждение: «gateway» у провайдеров прокси — это единый входной адрес, и он относится к архитектуре forward proxy.
- Прозрачный прокси — это forward: даже если пользователь ничего не настраивает, он работает от имени клиента.
За продуктами на стороне forward proxy обратитесь к страницам резидентный, ISP и datacenter , а за различием протоколов — к нашей статье HTTP–SOCKS5 .