Для кого: администратор панели. Требуемые права:
subscription_page.deploy. Лицензия: ключ core.subscription_page.Что понадобится
- Отдельный сервер под страницу: чистый Linux и доступ по SSH.
- Поддомен, например
sub.вашдомен.ru, и возможность завести для него A-запись. - Открытые наружу 80 и 443 на этом сервере: сертификат выпускается по HTTP-01. Исключение — установка за уже стоящим прокси, там TLS завершает он.
- Подключение к Remnawave с заданным адресом API и токеном: страница берёт подписки оттуда, и без этого мастер поставить не даст.
Шаги мастера
1
Название
Видно только вам в панели — клиенту его не показывают. Название можно поменять, вернувшись назад по шагам мастера.
2
Адрес
Домен без
https://, обычно поддомен вида sub.вашдомен.ru. По этому адресу клиент откроет страницу и заберёт конфиг.Под «Дополнительно» — напоминание про TLS: по умолчанию сертификат выпускает себе сама страница через Let’s Encrypt. Если перед ней уже стоит ваш Caddy или nginx, за сертификат отвечает он.3
Куда поставить
Два способа, и от выбора зависит, что мастер спросит дальше.Панель поставит сама по SSH. Вы вводите адрес сервера, порт, пользователя и один секрет: приватный ключ или пароль. Реквизиты нужны на одну установку и нигде не сохраняются. Домен должен указывать на тот же сервер.Поставлю сам, рядом с существующим прокси. Панель выдаёт одну команду, вы выполняете её на сервере от root; доступа к серверу панель при этом не получает. Страница садится на
127.0.0.1 и за сертификат не отвечает — TLS завершает ваш прокси, поэтому шаг проверки DNS пропускается. Здесь же спрашивается порт страницы (по умолчанию 3010) — менять его стоит, только если порт уже занят. Вместе с командой панель отдаёт готовый кусок конфигурации для Caddy и для nginx.4
Предупреждение о совмещении
Появляется, только если выбранный сервер — это сервер панели или узнанная нода. Мастер сверяет и хост подключения, и адрес, на который смотрит домен: за NAT они разные, и совпасть с известным сервером может любой из них.Экран объясняет, чем придётся расплатиться, и на несколько секунд оставляет кнопку подтверждения недоступной. Запрета здесь нет — есть требование прочитать.
5
Проверка домена
Мастер ждёт, пока домен начнёт резолвиться в адрес сервера, и перепроверяет это каждые 15 секунд. Шаг нельзя пропустить: сертификат выпускается по HTTP-01, а неудачные попытки выпуска списываются из лимита Let’s Encrypt на домен.Опрашивается несколько резолверов, и ответ каждого виден отдельно: «панель не видит, а 1.1.1.1 видит» — это диагноз, а «домен не резолвится» при заведённой записи — загадка. Молчание резолвера и ответ «такого имени нет» тоже различаются.Если интеграция с Cloudflare подключена и нужная зона в ней есть, панель предложит завести A-запись за вас. Токен для этого нужен с правом
Zone.DNS:Edit.6
Установка
Идёт несколько минут: качается образ, поднимаются контейнеры, выпускается сертификат. Стадии видно по ходу дела.
Что происходит во время установки
При установке своими руками панель показывает команду и ждёт: закончив, установщик сам отчитается панели по тому же одноразовому ключу.
Если установка сорвалась, панель показывает последнюю осмысленную строку установщика, а не код возврата. Полный вывод раскрывается кнопкой под сообщением.
«Пока поставить нельзя»
Мастер собирает всё, чего не хватает, в один список и не даёт запустить установку, пока он не пуст. Что там бывает:
Кнопка на экране — подсказка, а не разрешение: тот же список проверяется ещё раз перед выдачей ключа установки и перед самой установкой.
Проверка
Плитка Страница показывает «Отвечает», у плитки Сертификат есть срок, кнопка Открыть страницу ведёт на рабочий сайт, а карточка Связь с Remnawave не содержит предупреждений. Открытая по ссылке подписки страница показывает клиенту кнопки и QR, а не текст конфига.
После установки
- Проверить — панель ходит на публичный адрес и обновляет плитки, включая срок сертификата.
- Открыть страницу — публичный адрес в новой вкладке.
- Обновить страницу — свежий образ и перезапуск; домен и сертификат не трогаются. Реквизиты доступа к серверу панель не хранит, поэтому она выдаёт готовую команду, которую вы выполняете на сервере страницы сами.
- История операций — что панель делала со страницей и чем это кончилось.
Откат
- Незаконченный мастер сбрасывается кнопкой Снести черновик — она стирает черновик установки и возвращает к первому вопросу.
- Развёрнутая страница убирается кнопкой Убрать из панели. Панель перестаёт за ней следить; сама страница продолжает работать, и выданные клиентам ссылки остаются рабочими. Сервер панель снести не может — если он больше не нужен, погасите его руками.
Типовые ошибки
«Домен ведёт на другой адрес», хотя запись создана
«Домен ведёт на другой адрес», хотя запись создана
Записи нужно время, чтобы разойтись. Проверьте, что A-запись указывает на IP сервера страницы, а не панели. Если запись живёт в Cloudflare, включите для неё серое облако: за оранжевым (проксирование) запрос ACME до вашего сервера не дойдёт и сертификат не выпустится.
Установка обрывается на стадии подключения
Установка обрывается на стадии подключения
Панель не смогла зайти по SSH. Проверьте порт, пользователя и то, что ключ подходит именно к этому серверу. Пароль от учётной записи с запретом на парольный вход даёт тот же отказ.
Установщик говорит, что порты заняты
Установщик говорит, что порты заняты
80 и 443 держит что-то своё. Либо освободите их, либо ставьте страницу за этим прокси — способом «поставлю сам, рядом с существующим прокси», с готовым куском конфигурации от панели.
Команда установки истекла
Команда установки истекла
Ключ в ней живёт 15 минут. Вернитесь на шаг «Поставлю сам» и получите команду заново.
Страница отвечает, но сертификат не выпустился
Страница отвечает, но сертификат не выпустился
Проверка Let’s Encrypt идёт по порту 80 — чаще всего он закрыт снаружи. Второй частый случай — исчерпанный лимит неудачных попыток на домен: тогда придётся подождать.
Клиенты по-прежнему приходят на старый адрес
Клиенты по-прежнему приходят на старый адрес
В Remnawave не выставлен домен страницы. Панель туда не ходит: это переменная окружения её процесса. Точное значение и порядок действий — Связь с Remnawave.
Клиент открывает ссылку и видит сырой конфиг или JSON
Клиент открывает ссылку и видит сырой конфиг или JSON
Дело в настройках подписки Remnawave, а не в странице. Что именно проверить и что панель может включить сама — Связь с Remnawave.
