HTTP-прокси
Что это
HTTP-прокси — самая старая форма прокси в интернете. Появился фактически вместе с HTTP 1.0 в 1996 году. Клиент шлёт запрос не напрямую на целевой сервер, а на прокси-сервер, указав целевой URL в самом запросе. Прокси делает запрос от своего имени и возвращает результат.
Как работает
Для обычного HTTP:
GET http://example.com/page.html HTTP/1.1
Host: example.com
User-Agent: ...
Прокси видит целевой хост в первой строке (полный URL, а не путь как в обычном HTTP-запросе), делает свой запрос к example.com, отдаёт ответ клиенту.
CONNECT для HTTPS
Когда клиенту нужно к HTTPS-сайту, обычный GET не подходит — HTTPS шифрован. Тогда используется метод CONNECT (RFC 7231):
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
Прокси отвечает 200 Connection Established и после этого просто пробрасывает TCP-байты в обе стороны — TLS-хэндшейк идёт end-to-end между клиентом и example.com, прокси не может расшифровать.
Порты и приложения
- 3128 — Squid (самый популярный HTTP-прокси, кэширующий)
- 8080 — общий дефолт для «странных» прокси
- 80 — иногда используется, но конфликтует с обычным HTTP
Использование сейчас
- Корпоративные прокси — все работники ходят через один Squid, админы фильтруют/кэшируют
- Кэширующие прокси — школы, университеты (снижает нагрузку на канал)
- Antivirus / DPI proxy — MITM с MITM-сертификатом (антивирусы, корпоративные scan)
- Прозрачные прокси — iptables + Squid, клиенты не знают что через прокси
Как обход блокировок — не подходит
- Нет своего шифрования — HTTP-прокси на WAN виден как есть
- Пароль (Proxy-Authorization Basic) идёт в открытом виде
- DPI может смотреть в CONNECT-запрос и блокировать по хосту
- ТСПУ блокирует голые HTTP-прокси на iiсоединении
Если нужно обходить блокировки — используй VLESS или Trojan. HTTP-прокси годится только как «выход» из SOCKS5-VPN клиента на компе, но не как транспорт через ТСПУ.
Софт
- Squid — squid-cache.org — стандарт де-факто, работает с 1996
- Tinyproxy — лёгкий, без кэша
- Privoxy — фильтрующий (реклама, cookies)
- 3proxy — русский универсальный (HTTP + SOCKS + POP3 + FTP)