Определение простыми словами
HTTP-прокси — это посредник, через которого браузер или приложение отправляет HTTP-запросы. Клиент пишет запрос так, как будто обращается напрямую к целевому сайту, но соединение устанавливает с прокси, а тот уже идёт к нужному серверу и возвращает ответ обратно. Для шифрованного TLS-трафика используется специальный метод CONNECT: прокси открывает TCP-туннель и не видит содержимого. Если нужен прозрачный кэш или фильтрация, чаще ставят nginx или Squid в режиме reverse-proxy.
HTTP-прокси работает на седьмом уровне OSI и понимает заголовки Host, X-Forwarded-For, Authorization. Это отличает его от VPN, который заворачивает весь сетевой трафик целиком, и от SOCKS5, который оперирует TCP/UDP-сокетами без знания протокола приложения.
Сравнение
| Тип прокси | Уровень OSI | Шифрование | Применение |
|---|---|---|---|
| HTTP Proxy | L7 | Нет (только CONNECT) | Веб-трафик, кэш, фильтрация |
| HTTPS Proxy | L7 | TLS до прокси | Корпоративные DLP-шлюзы |
| SOCKS5 | L5 | Опционально | Любые TCP/UDP-приложения |
| Transparent Proxy | L7 | Нет | Перехват без настройки клиента |
Кейсы использования
- Сбор данных — парсеры используют пулы прокси, чтобы не упереться в rate-limit одного IP.
- Корпоративный шлюз — фильтрация по URL и заголовкам, кэширование статики, контроль трафика сотрудников.
- Обход региональных ограничений — браузер настраивается на прокси в нужной стране.
- Тестирование SEO-выдачи из разных регионов и устройств.
- Негативный сценарий: публичные бесплатные прокси часто медленные, логируют трафик и подменяют ответы. Для серьёзных задач берут платные приватные пулы или поднимают свой Squid на VPS.
Технические детали
Минимальный HTTP-прокси на Squid с базовой авторизацией:
apt install squid apache2-utils
htpasswd -c /etc/squid/passwd proxyuser
cat >> /etc/squid/squid.conf <<EOF
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
http_port 3128
EOF
systemctl restart squid
curl -x http://proxyuser:pass@server:3128 https://ifconfig.me
Порт 3128 — стандартный для Squid. Для боевой эксплуатации добавьте лимиты по IP, ACL по доменам и журналирование в /var/log/squid/access.log. Без авторизации прокси быстро попадёт в публичные списки и будет нагружен ботами.
🔥 Где это применяется
Частые вопросы
Чем HTTP-прокси отличается от SOCKS5?
HTTP-прокси работает на уровне приложения и понимает заголовки HTTP. SOCKS5 — транспортный посредник, передаёт любые TCP- и UDP-пакеты без разбора содержимого.
Прокси скрывает мой IP полностью?
Только если он анонимный и не добавляет заголовок X-Forwarded-For. Прозрачные прокси, наоборот, передают исходный IP в заголовках, и сайт его видит.
Можно ли через HTTP-прокси работать с HTTPS?
Да, через метод CONNECT. Прокси открывает TCP-туннель к целевому серверу, а TLS-сессия устанавливается напрямую между клиентом и сайтом — содержимое прокси не расшифровывает.