Перейти к основному содержимому
При загрузке комментариев произошла ошибка.

Как исправить CORS‑ошибки «Access-Control-Allow-Origin missing» (Plesk/LiteSpeed)

Портал поддержки  »  База знаний  »  Просмотр статьи


Если в консоли браузера вы видите ошибки вроде:

…это значит, что сервер не отправляет нужные CORS‑заголовки. Исправлять CORS нужно на сервере, который принимает запрос (обычно это API), а не на сайте, который обращается к API.

Шаг 1 – определите, какой URL блокируется

  • Откройте Developer Tools → Console/Network и посмотрите точный URL запроса, который падает.
  • Проверьте, где хостится этот URL: на GARMTECH (Plesk) или у стороннего провайдера. Если это сторонняя платформа – CORS нужно настраивать там.

Шаг 2 – решите, что именно разрешать (держите правила строгими)

Для безопасности разрешайте только те origin, которые реально нужны (например, https://example.com и https://www.example.com).

Не используйте *, если вы отправляете cookies/Authorization (credentials).

Шаг 3 – добавьте CORS‑заголовки на хостинге GARMTECH (Plesk / LiteSpeed)

На хостинге GARMTECH (LiteSpeed) поддерживаются стандартные правила Apache в .htaccess.

Вариант A – добавить заголовки в .htaccess (частый случай)

  1. В Plesk откройте Files для домена.
  2. Откройте директорию, где работает API (часто httpdocs или подпапка).
  3. Создайте или отредактируйте файл .htaccess.
  4. Добавьте (пример):
<IfModule mod_headers.c>
  Header always set Access-Control-Allow-Origin "https://example.com"
  Header always set Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS"
  Header always set Access-Control-Allow-Headers "Content-Type, Authorization"
</IfModule>

Обработка preflight (OPTIONS)

Многие API требуют ответ на OPTIONS для preflight‑проверки. Если ваше приложение не обрабатывает OPTIONS, можно добавить простое правило:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=204,L]

Важно: некоторые фреймворки должны обрабатывать preflight внутри приложения. Если правило выше не помогает, настройте OPTIONS в коде API.

Шаг 4 – протестируйте

  • Очистите кеш браузера или проверьте в режиме инкогнито.
  • Убедитесь, что в ответе присутствует заголовок Access-Control-Allow-Origin.

Типичные ошибки

  • Добавление заголовков не на тот сервер (на сайт вместо API).
  • Использование * вместе с Access-Control-Allow-Credentials: true (браузеры это блокируют).
  • Забыли добавить OPTIONS в список разрешённых методов.

Поделиться через
Считаете ли вы эту статью полезной?  

Связанные статьи


Комментарии

Добавить Комментарий

Ответить на  

Категории