Linux Labs

Сеть / Ступень 13 из 14

Восстановить сервис от клиента до ответа

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

Шаг 3 из 7 · на машине · 8 мин

Слушатель на нужном адресе

Connection refused значит, что на этом адресе и порту никто не слушает. Сайт при этом может работать — на другом адресе.

Это адрес привязки из урока о слушающих сокетах: listen 127.0.0.1:8080 — запросы самой машины, listen 8080 — на всех её адресах. Какой адрес занят на деле, показывает ss -ltn.

В том уроке reload перевёл сайт с 127.0.0.1 на адрес интерфейса, не останавливая его. Здесь в listen будут все адреса сразу — посмотри, что из этого выйдет.

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

Перечитать или перезапустить

Сайт на lab-node2 слушает только себя. Поправь в /opt/web-lab/nginx.conf строку listen первой командой, примени правку через reload и посмотри, что слушает lab-node2 и что записано в журнале lab-web.

Сначала предположи

В файле теперь listen 8080, reload прошёл без ошибок. Что покажет ss?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа

reload вернул успех, а сокет остался прежним. nginx не смог открыть 0.0.0.0:8080 рядом с занятым 127.0.0.1:8080, записал ошибку в журнал и продолжил работать по-старому. Адрес, который со старым не пересекается, reload откроет — так и было в уроке о слушающих сокетах, а «все адреса» пересекаются с любым. Надёжнее перезапуск: старый сокет закроется до того, как откроется новый.

bash
sudo systemctl restart lab-web
sudo ip netns exec lab-node2 ss -ltn
sudo ip netns exec lab-node1 curl -sS -m 3 http://192.0.2.12:8080/

После правки адреса проверяй ss: код возврата reload об адресе ничего не говорит.

Ubuntu 24.04
Загрузка…