Введение. Общая схема.
Данное руководство — это фундаментальный разбор классической, безопасной и масштабируемой архитектуры публикации домашних сервисов в глобальную сеть интернет. Этот метод универсален: пройдя эти шаги один раз на примере BookStack, вы сможете по аналогии поднимать десятки других приложений (Nextcloud, Matrix, Node-RED), зав считанныекороткие минуты.сроки.
Общая схема движения трафика
Когда пользователь вводит в браузере адрес wiki.myserver.ru, запрос проходит цепочку узлов, прежде чем попасть в ваше приложение:
- Браузер пользователя обращается к мировым серверам DNS и спрашивает: "Какой IP-адрес у wiki.myserver.ru?".
- DNS отвечает: "Его адрес — ваш_белый_IP".
- Браузер отправляет запрос по протоколу HTTPS (порт 443) на ваш Роутер.
- Роутер, благодаря правилу Port Forwarding, перенаправляет этот трафик на внутренний статический IP вашего Сервера Debian.
- На сервере запрос встречает Nginx (Обратный Прокси). Он проверяет SSL-сертификат от Let's Encrypt и перенаправляет (проксирует) чистый трафик внутрь изолированного Docker-контейнера.
Пошаговый план (8 пунктов к цели)
| Шаг | Название главы | Суть этапа |
|---|---|---|
| 1 | Внешний мир: Статический IP | Зачем нужен фиксированный IP от провайдера и чем он отличается от динамического. |
| 2 | Внутренний мир: Статика по MAC | Фиксация локального IP-адреса сервера в настройках роутера через DHCP. |
| 3 | Шлюзы роутера: Port Forwarding | Проброс портов 80 (HTTP) и 443 (HTTPS) из интернета на локальный сервер. |
| 4 | Имя в сети: Домен и DNS A-записи | Покупка домена, привязка IP и создание субдоменов (поддоменов) для сервисов. |
| 5 | Изоляция: Запуск BookStack в Docker | Создание конфигурации Docker Compose и запуск контейнеров приложения и СУБД. |
| 6 | Диспетчер: Базовый конфиг Nginx | Настройка виртуального хоста Nginx на 80 порту для обработки первых запросов. |
| 7 | Защита: Certbot и SSL Let's Encrypt | Автоматический выпуск криптографических сертификатов и переключение на безопасный HTTPS. |
| 8 | Активация: Симлинки и запуск сайта | Включение конфигурации через sites-enabled, проверка синтаксиса и финальный запуск веб-приложения. |
Важное примечание для сисадмина: Всегда держите этот план перед глазами. Когда вам понадобится поднять новый сервис (например, cloud.myserver.ru), вам больше не придется повторять пункты 1, 2, 3 и 4. Вы будете начинать сразу с Пункта 5 (Docker) и Пункта 6 (Nginx), масштабируя возможности своего сервера на ходу.