Введение в прокси Nginx в Docker
Прокси принимает запрос снаружи и передаёт его приложению, которое само наружу не опубликовано. Браузер стучится в опубликованный порт Nginx, а тот уже обращается к соседнему сервису по имени из описания проекта, не по адресу контейнера на компьютере.
Образ nginx:1.30
остаётся веб-сервером
со статикой в /usr/share/nginx/html,
как в разделе про сайт.
Сервис web
публикует пару
8080
и 80,
а свой файл в conf.d
задаёт правила маршрута.
Рядом живёт сервис app
на python:3.14
со встроенным
http.server
на 8000
без строки ports
у приложения.
Compose кладёт оба сервиса
в одну сеть проекта,
и имя app
резолвится из Nginx
так же, как имя базы
или кэша в других примерах.
Правила маршрута
записывают в свой файл
в conf.d,
а не на метках
стороннего прокси
на контейнерах.
Учебные ответы держат
короткое слово hello,
чтобы в браузере
был виден простой текст.
В задачах сервис Nginx
часто называют land -
имя не меняет смысл
строк в compose.yaml
и блоков server.
Сертификаты
и шифрование здесь
не разбираем:
страница открывается
по обычному HTTP
на localhost
или на имени вида
site.localhost.