Linux Labs

Веб-стек / Ступень 2 из 9

Reverse proxy и 502

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 8 · на машине · 6 мин

Два запроса вместо одного

Между тобой и приложением стоит nginx. Здесь — откуда берётся 502.

Страниц магазина nginx не хранит. Он работает обратным прокси: принимает запрос клиента, сам отправляет запрос приложению и пересылает клиенту его ответ. Приложение за прокси называют upstream. Путь запроса делится на два участка — клиент → nginx и nginx → приложение, — у каждого своё подключение.

Куда отправлять запросы, говорит блок location внутри server:

nginx
server {
    listen 80;
    server_name api.example.test;
    location / {
        proxy_pass http://127.0.0.1:3000;
    }
}

location / — пути, которые начинаются с /, то есть любые. proxy_pass — адрес приложения: nginx подключится к 127.0.0.1, порт 3000.

Ответ 502 Bad Gateway значит, что первый участок прошёл: nginx получил запрос и ответил сам. Ответа от приложения он не получил — оборвался второй участок. Почему, nginx пишет в error.log строкой со словами while connecting to upstream.

Упражнение · посмотреть

Найди, куда подключается nginx

Запроси сайт ещё раз, прочитай последнюю строку журнала ошибок nginx и посмотри, какие порты на машине слушаются.

Войти и начать Машина доступна после входа
Ubuntu 24.04
Загрузка…