Введение. Общая схема.
Данное руководство — это фундаментальный разбор классической, безопасной и масштабируемой архитектуры публикации домашних сервисов в глобальную сеть интернет.
Этот метод универсален: пройдя эти шаги один раз на примере BookStack, вы сможете по аналогии поднимать десятки других приложений (Nextcloud, Matrix, Node-RED), на своем домашнем сервере, в короткие сроки.
Причем, для этого не обязательно иметь серверную стойку, достаточно будет старенького ПК, ноута (даже с разбитым экраном), да, вообще, для маломощных сервисов, достаточно будет даже Raspberry Pi, даже менее мощных мини компьютеров. Все зависит от того, какой сервис вы захотите использовать.
Общая схема движения трафика
Когда пользователь вводит в браузере адрес 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), масштабируя возможности своего сервера на ходу.
Нет комментариев для отображения
Нет комментариев для отображения