Skip to content
  1. Компоненты
  2. MiniShop3
  3. Разработка
  4. Web API
  5. CORS и rate limit

CORS и rate limit

Настройки namespace minishop3: Системные настройки → API.

CORS

web.php создаёт CorsMiddleware с allow_credentials => true. Origins берутся из ms3_cors_allowed_origins (default в transport: пустая строка).

Значение настройкиПоведение
пустоSame-origin only: CORS-заголовки не ставятся
*Access-Control-Allow-Origin: *. Credentials выключаются (CorsConfig форсит allow_credentials=false)
список через запятуюEcho Origin + Vary: Origin + Allow-Credentials: true

При * cookie с Nuxt на другом origin не заработает. Нужны явные origins и credentials: 'include' на клиенте.

Разрешённые methods: GET, POST, PUT, DELETE, OPTIONS. Headers: Content-Type, Authorization, X-Requested-With, MS3TOKEN. max_age 86400.

Паттерн вида https://*.example.com: одна DNS-метка, не произвольный .*.

OPTIONS preflight отвечает 200 без mint токена.

Rate limit

КлючDefaultСмысл
ms3_rate_limit_max_attempts60Запросов
ms3_rate_limit_decay_seconds60Окно

Превышение → HTTP 429, error_code rate_limited. См. Ошибки.

Nuxt на другом origin

  1. В ms3_cors_allowed_origins перечислите origin фронта (или BFF).
  2. Запросы с credentials: 'include' или Bearer без cookie.
  3. Не используйте * вместе с cookie-сессией.