АДМИНИСТРИРОВАНИЕ
Лицензия
Как устроена лицензия, что делать при ошибке и как работает принудительная активация.
В интерфейсе нет отдельного пункта меню «Лицензия». Состояние лицензии проверяется автоматически при запуске сервера и при работе; при проблеме приложение показывает специальную страницу /license-error.
| При установке | install.sh спросит ключ или примет параметр --serial-key (переменная FORMULA_SERIAL_KEY) |
|---|---|
| Вручную | Прописать SERIAL_KEY в файле окружения сервера (например .env) и перезапустить |
# Формат ключа
FORM-XXXX-XXXX-XXXX-XXXXКлюч состоит из групп FORM- и четырёх групп по четыре символа (заглавные латинские буквы и цифры). Установщик проверяет формат и не примет ключ другого вида.
Ключ индивидуален. Он выдаётся при покупке продукта и привязан к серверу.
# Что видит пользователь при ошибке
Страница /license-error показывает:
| Элемент | Что означает |
|---|---|
| Заголовок «Лицензия недействительна» | Проблема с лицензией |
| Название ошибки | Человекочитаемое описание (см. таблицу кодов) |
| Код ошибки | Технический код, удобно передать в поддержку |
| Ключ | Маскированный ключ вида FORM-XXX••••XXXX |
| Повторить проверку | Повторяет проверку лицензии. Подпись меняется на Проверяю… |
| Принудительно активировать | Показывается только при ошибке «Ключ используется на другом сервере» |
При успешной перепроверке: «Лицензия подтверждена! Перенаправление...» и переход на главную страницу через 1,5 секунды.
Экран входа также блокируется при недействительной лицензии — с тем же описанием ошибки.
# Коды ошибок
| Код | Название | Что делать |
|---|---|---|
SERIAL_KEY_MISSING | Лицензионный ключ не установлен | SERIAL_KEY не указан в конфигурации сервера. Обратитесь к администратору |
KEY_NOT_FOUND | Ключ не найден | Ключ не существует в базе лицензий. Проверьте правильность ключа |
KEY_DEACTIVATED | Ключ деактивирован | Действие лицензии приостановлено. Обратитесь в поддержку на getformula.ru |
KEY_EXPIRED | Срок действия истёк | Продлите лицензию на getformula.ru |
INVALID_SIGNATURE | Неверная подпись ключа | Ключ изменён или повреждён. Проверьте его целостность |
CONCURRENT_LIMIT | Превышен лимит подключений | Достигнут лимит одновременных подключений. Дождитесь завершения других сессий или обновите тариф |
CONNECTION_ERROR | Ошибка соединения | Нет связи с сервером лицензирования. Проверьте интернет и повторите |
CONFIG_ERROR | Ошибка конфигурации | Не настроены KEY_VALIDATION_SECRET или LICENSE_RESPONSE_SECRET. Обратитесь к документации |
BIND_ERROR | Ошибка привязки машины | Ключ уже используется на другом сервере. Если старого сервера нет — принудительная активация |
SESSION_LIMIT_EXCEEDED | Ключ используется на другом сервере | Ключ активен на другом сервере. Если старого сервера нет — принудительная активация ниже |
SESSION_ERROR | Ошибка регистрации сессии | Не удалось зарегистрировать сессию. Повторите попытку |
SESSION_REVOKED | Сессия лицензии отозвана | Сессия завершена принудительно — возможно, лицензия активирована на другом сервере |
NOT_VALIDATED | Лицензия не проверена | Проверка не выполнялась при запуске. Перезапустите сервер |
UNKNOWN | Неизвестная ошибка | Непредвиденная ошибка проверки лицензии |
# Принудительная активация
Нужна, когда ключ «привязан» к серверу, которого больше нет (например, вы заменили оборудование).
# Как выполнить
| Шаг | Что происходит |
|---|---|
| 1 | На странице ошибки с кодом SESSION_LIMIT_EXCEEDED нажать Принудительно активировать |
| 2 | Откроется диалог «Подтверждение принудительной активации» — введите 6-значный PIN-код |
| 3 | Нажать Подтвердить (во время работы — Активирую…) |
| 4 | При успехе выполняется вход в систему |
# Тонкости
| Ситуация | Что означает |
|---|---|
| PIN-код неверный | Сервер лицензий не подтвердил PIN. Операция отменяется |
| «Сервер лицензий не поддерживает подтверждение PIN-кода» | Ваша версия сервера лицензий не умеет эту операцию — обратитесь в поддержку |
| «Принудительная активация невозможна: сервер лицензий не подтвердил PIN-код» | Повторите позже или свяжитесь с поддержкой |
Что происходит со старым сервером. После принудительной активации сессия лицензии на прежнем сервере отзывается (
SESSION_REVOKED), и он перестаёт работать. Убедитесь, что старый сервер действительно выведен из эксплуатации.
# Если приложение «упало» с 403
Когда лицензия блокируется во время работы, серверные запросы возвращают HTTP 403 с признаком лицензионной ошибки. Приложение распознаёт такой ответ и немедленно переводит пользователя на страницу /license-error, чтобы он увидел причину, а не «мёртвый» экран.
Обычные ошибки доступа (нет прав) так не выглядят: у них нет кода ошибки лицензии.
# Частые ситуации
| Симптом | Причина | Что делать |
|---|---|---|
| Приложение не запускается, ошибка лицензии | Не задан SERIAL_KEY | Прописать ключ и перезапустить сервер |
| Раньше работало, теперь требует активацию | Ключ активирован на другом сервере | Принудительно активировать или вернуть старый сервер |
| «Срок действия истёк» | Лицензия закончилась | Продлить на getformula.ru |
| «Ошибка соединения» | Сервер без доступа в интернет | Проверить сеть и прокси |
| После переустановки требует ключ | Ключ не перенесён в новое окружение | Скопировать SERIAL_KEY из старой конфигурации |
| Заменили сервер | Ключ привязан к старой машине | Принудительно активировать с PIN-кодом |
# Проверка состояния лицензии
| Способ | Что показывает |
|---|---|
Страница /license-error | Актуальную ошибку и её код |
| Кнопка Повторить проверку | Перепроверяет и, если всё хорошо, пускает в систему |
Внутренний API /api/status/license | Текущий статус лицензии (для диагностики) |
