Skip to content
mxHeadless
REST API gateway для headless-фронтендов на MODX 3. Ресурсы, объекты, OpenAPI, API keys и OAuth
  1. Компоненты
  2. mxHeadless
  3. Эксплуатация
  4. Диагностика

Диагностика

404 на /api/v1

  • Friendly URLs и rewrite в index.php
  • Префикс mxheadless_api_prefix совпадает с URL
  • Плагин mxHeadless активен
  • Fallback: api.php?route=/v1/health

503 service_disabled

mxheadless_enabled=false. Включите или оставьте только health для maintenance.

401 / 403

  • Нужны credentials на защищённом маршруте
  • Scope ключа не покрывает действие → scope_denied
  • Неверный / отозванный ключ → invalid_token

429

Rate limit. Смотрите X-RateLimit-*. Поднимите global или per-key лимит. Проверьте trusted proxies (иначе все за LB делят один IP).

422

Неизвестное field/filter/sort, битый JSON, page+offset вместе, превышение max_fields.

CORS не работает

  • mxheadless_cors_enabled=true и origin SPA в mxheadless_cors_allowed_origins
  • Не сочетайте * с mxheadless_cors_allow_credentials=true
  • Preflight OPTIONS доходит до MODX (rewrite, не блокируется WAF)
  • Сверьте origin с data.cors в discovery (GET /api/v1)
  • При выключенном CORS cross-origin fetch из браузера падает на клиенте: это ожидаемо, не «открытый доступ»

Подробнее: CORS.

Webhooks не уходят

  • Worker в cron
  • URL проходит SSRF-проверку
  • Подписка active
  • Смотрите mxheadless_webhook_deliveries

CSRF на POST из mgr

Нужен X-CSRF-Token. Bearer API key CSRF не требует.

Логи

Включите временно mxheadless_debug только на staging. Журнал audit: audit-log.