Эта страница поможет, если не открывается страница регистрации, профиль не скачивается или не устанавливается, устройство не появляется в Ринго или после регистрации не появился агент.
Регистрация состоит из нескольких последовательных шагов (см. Как устроен Ринго → регистрация). Сначала определите, на каком шаге она остановилась: от этого зависит, что проверять. Проще всего это сделать по логу backend:
docker logs roll-deploy-backend --since 30m 2>&1 \
| grep -E 'enroll/auth|GET /mdm/enroll|mdm/enroll/profile|/scep|mdm\.Authenticate|mdm\.TokenUpdate|device\.enroll|Agent connected'
Так выглядит успешная регистрация Mac в Ринго 3.0.5 (строки сокращены):
"POST /enroll/auth HTTP/1.1" 200 ← вход на странице регистрации
"GET /mdm/enroll HTTP/1.1" 200 ← профиль скачан
"POST /mdm/enroll/profile HTTP/1.1" 200 ← устройство начало установку
"GET /scep?operation=GetCACert&message=Device%20Management%20Identity%20Certificate" 200
"POST /scep?operation=PKIOperation HTTP/1.1" 200 ← выдан сертификат устройства
Emit event (mdm.event) with data: [udid: …; topic mdm.Authenticate; status: null]
Emit event (mdm.event) with data: [udid: …; topic mdm.TokenUpdate; status: null]
Emit event (device.enroll.mdm) with data: {"udid":"…"} ← устройство под управлением MDM
Apple MDM command queued [UDID: …; Command type: InstallProfile] ← профиль агента и первые команды
AgentGateway | info | Agent connected, udid: …
Emit event (device.enroll.agent) with data: {"udid":"…"} ← агент зарегистрирован
| Последняя запись в логе | На каком шаге остановилась регистрация |
|---|---|
Записей нет или только GET /enroll |
Шаг 1: вход или скачивание профиля. |
GET /mdm/enroll, но нет POST /mdm/enroll/profile |
Шаг 2: установка профиля не началась. |
POST /mdm/enroll/profile с кодом 402 |
Лицензия исчерпана. |
POST /mdm/enroll/profile с кодом 401 или 400 |
Сервер не выдал профиль MDM: код регистрации в профиле истёк (он действует 90 дней) или не прошла проверка подписи запроса устройства. Скачайте профиль заново. |
Запросы к /scep, но нет PKIOperation или mdm.Authenticate |
Шаг 2: установка прервалась на получении сертификата. |
mdm.Authenticate, но нет mdm.TokenUpdate |
Шаг 3. |
device.enroll.mdm, но нет Agent connected |
Шаг 4. |
device.enroll.agent |
Регистрация завершена. |
На Mac те же шаги видны в системном журнале (см. Диагностика на устройстве → ошибка установки профиля).
POST /mdm/enroll/profile с кодом 402.allow/deny, что и веб-интерфейс./scep или /mdm/checkin из своей сети.Откройте Настройки → Лицензия. Для компьютеров и мобильных устройств отдельно указаны срок («Срок действия до…») и количество устройств («Всего устройств добавлено: N. Осталось: M»).

В Ринго 3.x лимит проверяется, когда устройство начинает установку профиля: если лимит исчерпан, сервер отвечает на POST /mdm/enroll/profile кодом 402, и профиль не устанавливается. Удалите неиспользуемые устройства или обратитесь в поддержку (support@ringomdm.ru), чтобы расширить лицензию.
Если регистрация не удалась, Mac показывает окно с ошибкой
<InternalError:1>. Текст ошибки не называет причину: найдите в логе backend код ответа наPOST /mdm/enroll/profile. Если такого запроса в логе нет, он не дошёл до Ринго.
Пользователь открывает https://<домен>/enroll (кнопка «Привязать» в интерфейсе), входит и скачивает файл enroll.mobileconfig. Проверьте доступность страницы из сети устройства:
curl -s -o /dev/null -w '%{http_code}\n' https://<домен>/enroll # 200
curl -s -X POST -H 'Content-Type: application/json' -d '{}' https://<домен>/enroll/auth # 400 «Username should not be empty»
curl -s -o /dev/null -w '%{http_code}\n' https://<домен>/mdm/enroll # 401 без входа — ожидаемый ответ
403, 404 или HTML-страница прокси. Пути /enroll или /mdm/enroll не опубликованы на прокси либо закрыты ограничением для веб-интерфейса. Эти пути должны быть доступны из всех сетей, где находятся устройства.POST /enroll/auth возвращает 401 и {"is_authorized":false}). На странице регистрации входят учётной записью Ринго (системный пользователь) или учётной записью LDAP; при первом входе пользователь LDAP создаётся в Ринго автоматически. Возможные причины отказа: неверный логин или пароль, недоступен сервер LDAP (см. Настройки → Настройки LDAP), требуется двухфакторная аутентификация, а у пользователя она не настроена. Обязательность 2FA задаётся в разделе Настройки → Двухфакторная аутентификация или в настройках самого пользователя. Для суперадминистратора 2FA при регистрации не требуется.Профиль устанавливается на устройстве: на macOS — Системные настройки → Основные → Управление устройством → «MDM Enroll Profile» → «Установить» (потребуется пароль администратора Mac), на iOS — Настройки → «Профиль загружен».
| Что видно | Причина |
|---|---|
| «SCEP‑сервер по адресу <домен> был недоступен или не отвечал» | Устройство не дождалось ответа от /scep: путь закрыт, сервер не отвечает или прервалась связь. |
| Ошибка сертификата сервера | Прокси не отдаёт промежуточный сертификат (неполная цепочка), сертификат истёк или на устройстве не установлен корпоративный корневой сертификат. |
Профиль не устанавливается, сервер отвечает на POST /mdm/enroll/profile кодом 402 |
Исчерпана лицензия (см. выше). |
| Ошибка SCEP | Путь /scep закрыт или отвечает не Ринго, а, например, прокси. |
Проверьте доступность из сети устройства:
curl -s "https://<домен>/scep?operation=GetCACaps" # POSTPKIOperation SCEPStandard Renewal SHA-1 SHA-256 AES DES3
curl -s -X PUT https://<домен>/mdm/checkin # {"message":"Отсутствует тело mdm запроса",…}
Если GetCACaps вернул HTML-страницу или пустой ответ, на прокси нет блока location /scep.
Профиль подключает устройство к адресу, записанному в нём (PUBLIC_URL сервера). Если адрес Ринго изменился, а профиль скачан раньше, скачайте его заново. Если PUBLIC_URL на сервере не обновлён, см. Сервер → смена домена.
Профиль установлен, но через 2–3 минуты устройства всё ещё нет в списке.
mdm.Authenticate, но нет mdm.TokenUpdate. Второй запрос на /mdm/checkin не дошёл до сервера. Возможная причина — WAF, который не разрешает метод PUT или тип содержимого application/x-apple-aspen-mdm-checkin (см. Сеть → WAF). На Mac это видно по коду ответа на запрос [MDM_TokenUpdate] (см. Диагностика на устройстве → ответы сервера).mdm.Authenticate. Запрос не дошёл до backend. Найдите в логе прокси запрос PUT /mdm/checkin.После регистрации Ринго сам отправляет на Mac профиль агента («RINGO Agent Configuration Profile») и команду установки агента, после чего агент подключается к серверу.
device.enroll.mdm, но нет Agent connected. Профиль агента и установка агента доставляются MDM-командами. Проверьте их статус на вкладке Управление → Команды (см. Команды MDM и профили). Если профиль доставлен, см. Агент на macOS → шаг 1.Agent configuration not found, waiting for configuration profile... Профиль агента не доставлен./agent/bundle. Причина может быть в WAF, DPI или ограничении размера на прокси (пакет весит около 800 КБ, в 3.0.5 — 814 718 байт). Проверьте загрузку: curl -s -o /dev/null -w '%{http_code} %{size_download}\n' https://<домен>/agent/bundle.Bootstrap Token нужен для некоторых функций macOS: выдачи Secure Token и установки обновлений на Mac с Apple silicon. При регистрации Mac передаёт его автоматически, если у вошедшего пользователя есть Secure Token. В логе backend при этом появляется topic mdm.SetBootstrapToken. Проверьте состояние на Mac:
sudo profiles status -type bootstraptoken
# profiles: Bootstrap Token supported on server: YES
# profiles: Bootstrap Token escrowed to server: YES
Если указано escrowed to server: NO, передайте токен вручную. Команда запросит имя и пароль пользователя с Secure Token:
sudo profiles install -type bootstraptoken
Не указывайте пароль в самой команде (
-password '…'): он сохранится в истории командной строки.
Missing UnlockToken in token update event (уровень warn). Для macOS это нормально и на регистрацию не влияет.Обратитесь в техническую поддержку (см. Обращение в поддержку).
Проверено на Ринго 3.0.5, октябрь 2026. Тексты ошибок — Справочник ошибок, термины — Термины.