Что такое прокси-сервер и как он работает — простыми словами
Прокси — одно из самых затёртых слов в интернете: им называют и корпоративный фильтр, и nginx перед сайтом, и сомнительные «бесплатные списки». Во всех случаях это одна и та же идея — посредник между клиентом и сервером. Разбираем, как он работает, чем прямой прокси отличается от обратного и какие прокси владелец сайта использует, даже не подозревая об этом.
Прокси-сервер — это посредник: он принимает ваш запрос, выполняет его от своего имени и возвращает вам ответ. Сайт при этом видит не вас, а прокси: его IP-адрес, его местоположение. Вся дальнейшая классификация — прямые и обратные, HTTP и SOCKS, прозрачные и анонимные — это ответы на два вопроса: кто поставил посредника и что он умеет делать с трафиком по дороге.
Прямой и обратный: два прокси, смотрящих в разные стороны
Прямой (forward) прокси работает на стороне клиента. Его ставит тот, кто ходит в интернет: компания — чтобы фильтровать и учитывать трафик сотрудников, парсер — чтобы распределять запросы, пользователь — чтобы выйти в сеть с другого адреса. Сервер-получатель видит адрес прокси и, если прокси не представился, не знает, кто реально стоит за запросом.
Обратный (reverse) прокси работает на стороне сервера. Его ставит владелец сайта: nginx перед приложением, CDN перед origin-сервером, защита от DDoS перед всем сразу. Посетитель думает, что общается с сайтом, а на деле общается с прокси, который уже сам ходит к настоящему серверу. Если у вас сайт за CDN или за nginx — у вас уже есть обратный прокси, и знакомые ошибки 502 и 504 — это именно его голос: «я-то жив, а вот бэкенд мне не ответил».
| Прямой прокси | Обратный прокси | |
|---|---|---|
| Кто ставит | Клиент (компания, пользователь) | Владелец сайта |
| Кого скрывает | Клиента от сервера | Сервер от клиента |
| Типичные примеры | Корпоративный шлюз, прокси для парсинга | nginx, CDN, анти-DDoS |
| Зачем | Контроль, учёт, смена адреса | Балансировка, кэш, TLS, защита |
HTTP, HTTPS и SOCKS: что умеет посредник
HTTP-прокси понимает только веб-протокол — зато может вмешиваться в него осмысленно: кэшировать ответы, резать рекламу, добавлять заголовки. С зашифрованным HTTPS-трафиком он работает вслепую, через туннель: видит, куда вы подключаетесь, но не что передаёте. SOCKS5-прокси протоколов не понимает вовсе — он просто перекачивает байты любого TCP-соединения: почта, база данных, что угодно. Универсальнее, но никакой логики по дороге.
Ещё одна ось — анонимность. Прозрачный прокси честно передаёт серверу ваш реальный адрес в заголовках; так работают корпоративные и провайдерские шлюзы. Анонимный — представляется прокси, но вас не выдаёт. Отсюда практическое следствие для владельца сайта: посетители из-за корпоративных и мобильных прокси приходят пачками с одного IP — и наивная защита «не больше N запросов с адреса» банит целые офисы и операторов связи. Мы разбирали этот класс ошибок в статье про ботов и парсеров.
Чем прокси отличается от VPN
Частый вопрос, короткий ответ. Прокси работает на уровне приложения: его настраивают в браузере или программе, и идёт через него только трафик этой программы, чаще всего без дополнительного шифрования. VPN работает уровнем ниже: заворачивает и шифрует весь трафик устройства. Прокси — точечный инструмент («этой программе — другой адрес»), VPN — общий туннель. Для задач владельца сайта, о которых ниже, VPN обычно избыточен.
Зачем прокси владельцу сайта
Обратный — почти наверняка уже есть. nginx перед PHP-приложением, CDN перед статикой, защита от DDoS — всё это обратные прокси, и понимать их роль нужно хотя бы для чтения ошибок: 502/504 и вся серия Cloudflare 52x — это сигналы «между прокси и вашим сервером что-то сломалось» (разбор — в статье про ошибки 520–524).
Прямой — для взгляда со стороны. Легальная и полезная задача: посмотреть на свой сайт «из другого места» — проверить гео-зависимые цены, региональные баннеры, работу сайта из-за границы. Здесь важно предостережение: бесплатные публичные прокси из списков в интернете — плохая идея. Это чужие серверы с неизвестными владельцами: ваш трафик читают, в страницы подмешивают рекламу и скрипты, а сами адреса давно в чёрных списках. Для разовой проверки безопаснее сервисы проверки доступности из разных стран, для регулярной работы — платные прокси с белыми списками или собственный сервер.
Если у вас в системе включён прокси (корпоративный, забытое расширение, «ускоритель браузера») — вся ваша диагностика врёт: вы проверяете доступность сайта не из своей сети, а из сети прокси. Первый шаг при любых странностях — убедиться, что смотрите на сайт напрямую. Этот пункт есть и в нашей инструкции «Интернет работает, а сайт не открывается».
Прокси и мониторинг: важное различие
Логичный вопрос: если прокси позволяет «смотреть из другого места», то мониторинг из разных городов — это прокси? Нет, и разница принципиальная. Запрос через прокси в Новосибирске проходит два плеча — от вас до прокси и от прокси до сайта, — и вы измеряете их сумму с накладными расходами посредника. Точка мониторинга в Новосибирске делает запрос напрямую, как живой посетитель из этого города: её измерение — это реальный путь и реальное время местного жителя. Проверка доступности из 13 точек — это 13 прямых взглядов на сайт, а не 13 пересказов через посредника; настройка географии — в справке о локациях.
Пруфен проверяет сайт прямыми запросами из 13 точек — 11 из них в России — с интервалом от 2 минут: видно, где сайт открывается, где нет и как отличается время ответа по регионам. Уведомления о проблемах — Email, Telegram, Макс, Звонок. Бесплатного тарифа хватает на 5 проверок.