Forward и Reverse прокси звучат похоже — оба это прокси. Но работают в противоположных направлениях и решают разные задачи. Давайте разберёмся.
➡️ Forward Proxy
Представьте, что вы хотите отправить письмо, но не хотите раскрывать свой обратный адрес.
Вы отдаёте письмо посреднику. Он отправляет его от своего имени. Получатель видит адрес посредника, а не ваш.
Forward прокси — это посредник между вами и интернетом.
Главное: целевой сервер не знает, что запрос пришёл от вас. Он видит только прокси.
Зачем его используют:
• Логирование всех запросов
• Блокировка нежелательных сайтов
• Экономия трафика через кеширование
• Контроль безопасности
➡️ Reverse Proxy — противоположная история
Теперь представьте большую компанию с множеством отделов.
Когда кто-то звонит в компанию, он попадает на секретаря. Секретарь решает, в какой отдел перенаправить звонок.
Звонящий не знает внутреннюю структуру компании. Он общается только с секретарём.
Reverse прокси — это секретарь для ваших серверов.
Клиент не знает, что за прокси находятся несколько серверов. Он видит только один публичный адрес.
➡️ Реальные примеры использования
1. Балансировка нагрузки
У вас 5 серверов с одним приложением:
Клиент → Reverse Proxy → [Сервер 1]
→ [Сервер 2]
→ [Сервер 3]
→ [Сервер 4]
→ [Сервер 5]
Прокси распределяет запросы между серверами, чтобы ни один не был перегружен.
2. Единая точка входа
У вас микросервисная архитектура:
• API на порту 5000
• Frontend на порту 3000
• Админ-панель на порту 8080
• WebSocket сервер на порту 4000
Без reverse прокси пользователю нужно знать все эти порты. А с reverse прокси можно сделать так:
https://mysite.com/api → Сервер на :5000
https://mysite.com/ → Сервер на :3000
https://mysite.com/admin → Сервер на :8080
https://mysite.com/ws → Сервер на :4000
3. SSL/TLS
Вместо настройки HTTPS на каждом сервере, настраиваете один раз на прокси. Проще управлять сертификатами, меньше нагрузка на бэк.
4. Защита и безопасность
Внутренние серверы вообще не видны из интернета. Видна только прокси.
5. Кеширование
Статический контент: картинки, CSS и JS; можно кешировать на прокси. Не нужно каждый раз обращаться на бэк.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#sharp_view