HTTPS-прокси
HTTP-прокси с поддержкой метода CONNECT для туннелирования зашифрованного HTTPS-трафика между клиентом и целью.
HTTPS-прокси - это HTTP-прокси, умеющий нести зашифрованный HTTPS-трафик. Он использует HTTP-метод CONNECT, чтобы открыть туннель: клиент просит прокси подключиться к цели на порту 443, прокси устанавливает TCP-соединение, и через него из конца в конец идут зашифрованные данные. Прокси лишь передаёт зашифрованные байты, не расшифровывая их.
Это отличается от обычного HTTP-прокси, обрабатывающего незашифрованный трафик, где прокси может читать и менять запросы. При HTTPS через CONNECT TLS-рукопожатие происходит напрямую между вашим клиентом и целью, поэтому прокси видит лишь факт соединения - но не его содержимое. Ваши данные остаются конфиденциальными от оператора прокси.
На практике почти каждый современный сайт использует HTTPS, поэтому «HTTP-прокси» от коммерческого провайдера означает прокси с поддержкой CONNECT и обработкой HTTPS. Когда вы настраиваете скрапер с HTTP-прокси, он автоматически использует CONNECT для https://-URL. Один эндпоинт несёт и http://, и https://-трафик.
HTTPS-прокси - выбор по умолчанию для скрапинга, потому что работают с любым провайдером и любой целью. SOCKS5 - альтернатива, когда нужно проксировать не-HTTP протоколы. Для стандартного сбора веб-данных по HTTPS достаточно HTTP/HTTPS-прокси.
Два разных явления под одним названием
Этим словосочетанием называют две схемы, которые постоянно путают. Первая это обычный HTTP-прокси, несущий HTTPS-трафик через туннель CONNECT, и именно это имеют в виду почти все и продают почти все поставщики.
Вторая это прокси, до которого вы дотягиваетесь поверх TLS: соединение между вашим клиентом и прокси само зашифровано. Так защищаются ваши учётные данные и список целей от всех, кто наблюдает за вашей локальной сетью, и встречается это редко, потому что требует от прокси предъявлять сертификат.
В первой схеме ваш HTTPS-трафик зашифрован от конца до конца между клиентом и целью. Прокси видит имя хоста в строке CONNECT, тайминги и счётчики байтов, и больше ничего.
Как устроено у нас
Наши точки входа говорят по HTTP для соединения с прокси и туннелируют HTTPS от конца до конца:
Путаница схем, разрешённая
curl -x http://login:password@proxy.sotaproxy.com:10000 https://example.com
^^^^ how you talk to us ^^^^^ how we talk to the target
# Writing http:// as the proxy scheme while fetching an https:// page
# is correct and trips up almost everyone once.- Содержимое вашего HTTPS не читаем ни мы, ни кто-либо посередине. CONNECT строит туннель, и сессия TLS идёт внутри него.
- Имя хоста видно нам в запросе CONNECT, это неизбежно в такой конструкции и верно для любого поставщика.
- Если нужно зашифровать и локальный участок, дотягивайтесь до прокси через SOCKS5 поверх туннеля SSH или через VPN.
- Ошибки сертификата через прокси обычно означают перехват где-то в вашей сети, а не сбой на нашей стороне.
Путаница вокруг HTTPS-прокси
Схема прокси это не схема цели
http:// у прокси и https:// у цели это нормальное и правильное сочетание.
Прокси не расшифровывает ваш HTTPS
Для этого нужен сертификат, которому доверяет ваш клиент, а это корпоративная схема, а не розничный продукт.
SOCKS5 тоже не шифрует
Ни один из протоколов шифрования не добавляет. Безопасность даёт TLS на уровне приложения.
verify=False не чинит ошибки прокси
Он их прячет. 407, замаскированный под проблему с сертификатом, остаётся 407.
Связанные термины
Смотри на практике
Готов использовать https-прокси?
SotaProxy даёт доступ к ротирующим резидентским, мобильным, дата-центр и ISP прокси. Без минимальных платежей.
Начать