Решение проблемы с маршрутизацией доменов
Дата: 2026-01-08
Статус: ✅ Решено
Проблема
Внешние запросы на docs.cdto.life и denkart.cdto.life редиректлись, хотя внутри контейнера docs-denkart все работало правильно.
Причина
Запросы попадали в контейнер BBB-CONT22-1, где не было конфигурации для этих доменов, и они обрабатывались как school.cdto.life (который делает редирект на HTTPS).
Решение
Добавлена конфигурация маршрутизации в BBB-CONT22-1, которая проксирует запросы на docs.cdto.life и denkart.cdto.life в контейнер docs-denkart.
Конфигурация
Файл: /etc/nginx/sites-enabled/00-bbb-routing.conf в контейнере BBB-CONT22-1
Содержимое:
# Домен: docs.cdto.life - проксирование в docs-denkart
server {
listen 80;
listen [::]:80;
server_name docs.cdto.life;
location / {
proxy_pass http://10.218.14.102:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# Домен: denkart.cdto.life - проксирование в docs-denkart
server {
listen 80;
listen [::]:80;
server_name denkart.cdto.life;
location / {
proxy_pass http://10.218.14.102:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Результат
✅ docs.cdto.life - работает (HTTP 200 OK)
✅ denkart.cdto.life - работает (HTTP 200 OK)
✅ school.cdto.life - работает (редирект на HTTPS - нормально)
Архитектура маршрутизации
Внешний запрос → Хост (iptables) → BBB-CONT22-1 (порт 80)
↓
┌───────────────┴───────────────┐
↓ ↓
docs.cdto.life / denkart.cdto.life school.cdto.life
↓ ↓
docs-denkart (10.218.14.102) BigBlueButton (локально)
↓
Nginx маршрутизация по Host заголовку
↓
docs.cdto.life → Python веб-сервер (8090)
denkart.cdto.life → Cockpit (10.218.14.1:9090)
Проверка работы
# docs.cdto.life
curl -I http://docs.cdto.life/
# Результат: HTTP/1.1 200 OK ✅
# denkart.cdto.life
curl -I http://denkart.cdto.life/
# Результат: HTTP/1.1 200 OK ✅
# school.cdto.life
curl -I http://school.cdto.life/
# Результат: HTTP/1.1 301 (редирект на HTTPS - нормально) ✅
Следующие шаги
- ⏳ Получить SSL сертификаты для всех доменов
- ⏳ Настроить HTTPS для всех доменов
- ⏳ Настроить автоматическое обновление SSL сертификатов
Статус: ✅ Проблема решена, все домены работают