CORS (Cross-Origin Resource Sharing) - это механизм безопасности, который запрещает выполнение запросов на сервера из других источников (origin) по умолчанию. Иногда возникают ситуации, когда вам необходимо выполнить запрос с другого домена (например, клиентский код на одном домене, а API на другом), и в этом случае может возникнуть ошибка "Access to fetch at ${API} from origin ${CLIENT} has been blocked by CORS policy".
Чтобы исправить эту ошибку, вам понадобится настроить сервер (API), чтобы он разрешил запросы с других источников. В зависимости от серверной платформы и фреймворка, существует несколько способов выполнить это.
1. Если вы используете Node.js и Express, вы можете установить пакет cors из npm и настроить его в вашем серверном коде:
Установите пакет:
npm install cors
Добавьте следующие строки кода в вашем серверном файле (например, app.js):
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); // ... ваш код обработки запросов
Это настроит сервер, чтобы разрешить все запросы с любых источников.
2. Если ваш сервер использует Apache, вы можете настроить его, добавив следующие строки в файл .htaccess в корне вашего сервера:
Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "GET,PUT,POST,DELETE" Header set Access-Control-Allow-Headers "Content-Type"
Это разрешит все методы запросов (GET, PUT, POST, DELETE) с любых источников.
3. Если вы используете другой тип сервера или фреймворк, вам следует обратиться к документации для этого конкретного сервера или фреймворка, чтобы узнать, как настроить CORS.
Обратите внимание, что в продакшн-среде настройки CORS должны быть осуществлены с осторожностью, чтобы избежать уязвимостей безопасности. Обычно рекомендуется разрешить запросы только с определенных источников, а не со всех (*).