Reverse Proxy — сервер-посредник, который принимает запросы от клиентов
и перенаправляет их на нужный внутренний сервер.
Клиент не знает, что за прокси стоят другие серверы — он общается только с nginx.
Клиент → nginx (proxy) → Внутренний сервер
Клиент ← nginx (proxy) ← Внутренний сервер
1. Клиент отправляет запрос на nginx
2. nginx смотрит правила — куда перенаправить запрос
3. Перенаправляет запрос на внутренний сервер
4. Внутренний сервер обрабатывает и отвечает nginx
5. nginx возвращает ответ клиенту
Безопасность
Внутренние серверы скрыты от интернета — клиент видит только nginx.
Даже если знаешь IP nginx — до внутренних серверов не добраться.
Работа с доменами
Один nginx может обслуживать несколько доменов и направлять каждый на свой сервер.
api.example.com → VM 1 (192.168.1.101)
app.example.com → VM 2 (192.168.1.102)
admin.example.com → VM 3 (192.168.1.103)
Всё через один IP — nginx разбирает по доменному имени.
Балансировка нагрузки
Если серверов несколько — nginx распределяет запросы между ними.
Один упал — остальные продолжают работать.
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://192.168.1.101:8080;
}
}
Запрос на app.example.com → nginx перенаправляет на 192.168.1.101:8080.
В вашей инфраструктуре Reverse Proxy — связующее звено между интернетом и VM:
Интернет
↓
MikroTik (проброс порта 80 → 192.168.1.100)
↓
nginx (192.168.1.100) — Reverse Proxy
↓
VM с приложением (192.168.1.101)
MikroTik принимает трафик из интернета и направляет его на nginx.
nginx разбирает запросы по домену или пути и перенаправляет
на нужную VM внутри proxmox.
VM обрабатывает запрос и возвращает ответ обратно через nginx.
Итог: снаружи виден только один IP и один сервер.
Вся внутренняя инфраструктура скрыта.
Reverse Proxy — посредник между интернетом и серверами.
Скрывает внутреннюю сеть, управляет трафиком по доменам
и позволяет запускать много сервисов за одним IP.