Forward proxy (прямой прокси) — промежуточный сервер, принимающий запросы от клиентов и пересылающий их к целевым серверам от своего имени. Клиент сознательно настраивает проксирование — в браузере, ОС или приложении. В отличие от обратного прокси, forward proxy действует на стороне клиента. Целевой сервер видит IP прокси, а не клиента.
Как работает
Клиент отправляет HTTP-запрос не напрямую к серверу, а к прокси: GET http://example.com/page HTTP/1.1
Host: example.com
Proxy-Authorization: .... Прокси принимает запрос, устанавливает соединение с example.com, передаёт запрос, получает ответ и возвращает клиенту. Для HTTPS-трафика прокси не видит содержимое — только метаданные соединения. Для HTTPS прокси использует метод CONNECT: CONNECT example.com:443 HTTP/1.1 — устанавливается туннель, через который клиент выполняет TLS-хендшейк напрямую с целевым сервером.
Типичные сценарии применения:
- Корпоративный прокси — централизованный выход в интернет с фильтрацией и логированием (Squid, Bluecoat).
- Кэширующий прокси — кэширует популярный контент, снижает трафик (Squid в режиме кэша).
- Анонимизирующий прокси — скрывает реальный IP клиента. HTTP-прокси, SOCKS5.
- Парсинг и автоматизация — ротация IP через пул прокси для web scraping.
Forward proxy vs Reverse proxy
| Параметр | Forward proxy | Reverse proxy |
|---|---|---|
| Кто настраивает | Клиент | Владелец сервера |
| Цель | Защита клиента, фильтрация | Защита сервера, балансировка |
| Примеры | Squid, 3proxy, Dante (SOCKS) | nginx, HAProxy, Cloudflare |
| Клиент знает о прокси | Да (явная настройка) | Нет |
История
HTTP-прокси появились с развитием интернета в начале 1990-х. Squid разработан Даффи Дуэйном в 1994-1996 годах как проект NLANR. nginx также может работать как forward proxy через модуль ngx_http_proxy_connect_module (National Laboratory for Applied Network Research). С 1990-х корпоративные прокси стали стандартом для контроля интернет-доступа сотрудников. В 2000-е рост HTTPS-трафика снизил эффективность кэширующих прокси (нет доступа к зашифрованному контенту), но оставил актуальными filtering- и anonymizing-сценарии.
На что обращать внимание
Прозрачный (transparent) прокси перехватывает трафик без настройки клиента — через iptables REDIRECT или TPROXY. Используется интернет-провайдерами для кэширования. В Docker и Kubernetes forward proxy настраивается через переменные окружения HTTP_PROXY и HTTPS_PROXY. Корпоративные прокси нередко комбинируются с VPN для дополнительного шифрования трафика. SOCKS5-прокси (RFC 1928) работает на уровне TCP-соединений, не ограничен HTTP — поддерживает любой протокол.
Forward proxy на VPS
Развернуть Squid на VPS — простой способ получить личный прокси-сервер. Squid 6 поддерживает HTTPS Interception (SSL Bump) для корпоративной фильтрации зашифрованного трафика. Для анонимизации и парсинга чаще используют Dante (SOCKS5-сервер), 3proxy или Python-прокси-пулы. При выборе VPS для прокси-сервера важна геолокация — серверы в нужной стране дают локальный IP.