DNS для lms.cdto.life

Проблема: в браузере «Не удаётся найти этот сайт» / «Мы не можем подключиться к серверу lms.cdto.life» — домен не резолвится (NXDOMAIN).

Причина: в DNS нет A-записи для lms.cdto.life. Маршрутизация и прокси на сервере уже настроены.


1. Постоянное решение: A-запись в DNS

В панели управления доменом cdto.life (или у регистратора/хостинга DNS) создайте:

Тип Имя (поддомен) Значение (IP) TTL
A lms 89.179.242.240 300

Или, если домен ведётся через отдельный DNS-провайдер, добавьте A-запись:

  • Имя: lms (полное имя будет lms.cdto.life)
  • Значение: публичный IP вашего сервера (тот же, что у school.cdto.life / denkart — в плане указан 89.179.242.240)

После сохранения подождите 5–15 минут и снова откройте https://lms.cdto.life.


2. Временный доступ только из локальной сети (без DNS)

Если нужно зайти с той же ЛВС, где находится сервер (хост 192.168.1.112):

Linux / macOS: отредактируйте /etc/hosts (нужны права root):

192.168.1.112   lms.cdto.life

Windows: отредактируйте C:\Windows\System32\drivers\etc\hosts (от имени администратора):

192.168.1.112   lms.cdto.life

Сохраните файл и откройте в браузере: https://lms.cdto.life или http://lms.cdto.life.

На хосте сервера маршрутизация уже настроена: 80/443 → nginx-reverse-proxy → Moodle (10.218.14.104).


Проверка после настройки DNS

# Должен вернуть IP сервера
nslookup lms.cdto.life
# или
ping -c 1 lms.cdto.life

После появления A-записи сайт должен открываться по имени.


3. Циклическое перенаправление (Firefox / браузер)

Проблема: при открытии https://lms.cdto.life браузер показывает «Циклическое перенаправление» и страница не загружается.

Причина: запрос до Moodle доходит по HTTP (прокси), Moodle считает схему HTTP и отдаёт редирект на https://lms.cdto.life → цикл.

Решение (два места):

  1. Точка входа (BBB): запросы приходят на HAProxy:443 (HTTPS), затем на Nginx:8443 по HTTP, поэтому $scheme в BBB равен http. В config/nginx/bbb-https-routing.conf для блока lms.cdto.life задано явно: proxy_set_header X-Forwarded-Proto https; (не $scheme). После деплоя в BBB-CONT22-1 и systemctl reload nginx — перезагрузить nginx в BBB.

  2. Контейнер Moodle: Nginx должен передавать в PHP признак HTTPS по заголовку от прокси. В config/nginx/moodle-lms-cdto-life.conf: map $http_x_forwarded_proto $fe_https и в location ~ \.phpfastcgi_param HTTPS $fe_https, fastcgi_param HTTP_X_FORWARDED_PROTO $http_x_forwarded_proto. Деплой в контейнер moodle, systemctl reload nginx.

Если трафик идёт через nginx-reverse-proxy (а не через BBB), там уже передаётся X-Forwarded-Proto $scheme (клиент → proxy по HTTPS, поэтому $scheme = https).


Связанные документы: План установки Moodle 4.5, Первый вход в Moodle. Консолидирующий отчёт и правило для аналогичных задач: ROUTING-SETUP-REPORT-AND-RULE.md.