Прокси-сервер
Промежуточный сервер, который принимает запросы клиента и выполняет их от своего имени, скрывая одну сторону соединения от другой.
Что такое прокси-сервер
Прокси-сервер (proxy server, от англ. proxy — «посредник», «доверенное лицо») — промежуточный сервер между клиентом и целевым ресурсом. Клиент отправляет запрос не напрямую, а прокси; тот выполняет запрос от своего имени и возвращает ответ. Для целевого сервера источником трафика выглядит прокси, а не исходный клиент.
Из этой простой схемы вырастают все применения: скрыть адрес клиента, закешировать ответы, отфильтровать трафик, распределить нагрузку между бэкендами или опубликовать внутренний сервис наружу.
Прямой и обратный прокси
Главное деление — на чьей стороне стоит посредник.
| Forward proxy (прямой) | Reverse proxy (обратный) | |
|---|---|---|
| Кого представляет | клиента | сервер |
| Кто про него знает | клиент настраивает явно | клиент не знает, видит обычный сайт |
| Типичная задача | выход в интернет из корпоративной сети, фильтрация, кеш | публикация сайта, TLS-терминация, балансировка |
| Примеры | Squid, SOCKS5-прокси | Nginx, Traefik, HAProxy |
«Прокси-сервис» в объявлениях — это почти всегда аренда прямого прокси: вам продают доступ к чужому серверу, через который можно выпускать свой трафик.
Типы прокси
- HTTP-прокси — разбирает HTTP, поэтому умеет кешировать ответы, править заголовки и фильтровать по URL. Работает только с HTTP.
- HTTPS (метод CONNECT) — клиент просит открыть TCP-туннель до узла, внутри идёт TLS. Прокси видит имя хоста и объём трафика, содержимое — нет.
- SOCKS5 — универсальный прокси уровня TCP/UDP, прикладной протокол не разбирает. Подходит для чего угодно: почты, БД, мессенджеров.
- MTProto — собственный прокси-протокол Telegram.
- Прозрачный (transparent) — трафик заворачивается маршрутизацией, клиент не настраивается и о прокси не знает.
Прокси в Telegram
Telegram поддерживает два вида прокси, оба задаются в клиенте (Настройки → Данные и память → Настройки прокси):
- SOCKS5 — стандартный прокси: адрес, порт, опционально логин и пароль.
- MTProto proxy — разработка Telegram: адрес, порт и секрет (secret) в hex. Оборачивает штатный протокол мессенджера в свой транспорт.
Что важно понимать про сторонние прокси: весь трафик клиента идёт через чужой сервер. Переписка остаётся зашифрованной ключами Telegram, и владелец прокси её не читает, но метаданные видит — ваш IP, время и объёмы соединений. Публичные прокси из открытых списков непредсказуемы по владельцу, скорости и времени жизни. MTProto-прокси разворачивается и на своём VPS: официальная реализация открыта, установка занимает несколько минут.
proxy_pass в Nginx
proxy_pass — директива, которая делает Nginx обратным прокси: полученный запрос она передаёт указанному бэкенду.
server {
listen 443 ssl;
server_name api.example.com;
location /api/ {
proxy_pass http://127.0.0.1:8000/; # слэш в конце срезает /api/ из пути
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Два момента, на которых спотыкаются чаще всего:
- Слэш в конце адреса. С
proxy_pass http://127.0.0.1:8000/;запрос/api/usersуйдёт на бэкенд как/users. Без слэша — как/api/users. - Заголовки. Без
X-Forwarded-ForиX-Real-IPприложение увидит в логах адрес самого прокси, а не клиента.
Так закрывают приложение: сервис слушает 127.0.0.1, наружу торчит только Nginx, а на нём — TLS, лимиты, авторизация и логи.
Прокси и VPN
| Прокси | VPN | |
|---|---|---|
| Уровень работы | приложение или TCP-сессия | сетевой интерфейс |
| Что заворачивает | только настроенное приложение | весь трафик системы либо по маршрутам |
| Шифрование | не обязательно | штатно |
| Маршруты и DNS | приложение решает само | задаются туннелем |
| Настройка | в каждом приложении отдельно | один раз на устройстве |
Проще говоря: прокси — посредник для одного приложения, VPN — новый сетевой интерфейс для всей системы.
Связанные термины
- VPN — заворачивает весь трафик, а не отдельное приложение
- Туннелирование — механизм, на котором работает CONNECT и SSH-прокси
- Nginx — самый частый обратный прокси
- SNI — по нему прокси выбирает бэкенд, не расшифровывая трафик
- load balancer — обратный прокси, распределяющий нагрузку
- API Gateway — обратный прокси с логикой уровня API
Готовы запустить GPU-задачу?
Запустить GPU-сервер