← Cloudflare Cache / cache / cache-security
Cross-Origin Resource Sharing (CORS)
Кросс-доменный запрос возникает, когда веб-страница на одном источнике (например, a.example.com) запрашивает ресурс с другого источника (например, b.secondexample.com). Механизм Cross-Origin Resource Sharing (CORS) использует HTTP-заголовки, чтобы позволить серверу по адресу b.secondexample.com указывают, a.example.com разрешён доступ к его ресурсам. Браузеры применяют эти заголовки и блокируют доступ к ответам, для которых доступ не разрешён.
Cloudflare поддерживает CORS следующим образом:
- Определение кешированных объектов на основе
Hostзаголовок,Originзаголовок, путь URL и строку запроса. Это позволяет разным ресурсам использовать один и тот жеHostзаголовок, но разнымиOriginзаголовки. - Передача
Access-Control-Allow-Originзаголовки от исходного сервера браузеру.
Access-Control-Allow-Origin заголовок позволяет серверу задавать правила предоставления доступа к своим ресурсам для внешних источников. Сервер может отвечать разными Access-Control-Allow-Origin значения в зависимости от Origin заголовок в запросе. Эти заголовки часто присутствуют в кешируемый контент.
Добавьте или измените заголовки CORS на исходном сервере
Если вы добавляете или изменяете конфигурацию CORS на исходном веб-сервере, очистка кеша Cloudflare по URL-адресу не обновляет заголовки CORS. Чтобы Cloudflare получил новые заголовки CORS, воспользуйтесь одним из следующих способов:
- Измените имя файла или URL-адрес, чтобы обойти кеш и заставить Cloudflare получить актуальные заголовки CORS.
- Используйте API для очистки отдельного файла чтобы указать соответствующие заголовки CORS вместе с запросом на очистку.
- Обновите время last-modified ресурса на исходном веб-сервере. Затем выполните полная очистка чтобы получить последнюю версию ваших ресурсов, включая обновлённые заголовки CORS.
Добавьте или измените заголовки CORS в Cloudflare
Для настройки заголовков CORS с помощью продуктов Cloudflare можно использовать один из следующих способов:
- Используйте Worker: См. Прокси заголовков CORS для примера.
- Настройте Snippet: См. Настройка заголовков CORS для примера.
- Используйте Transform Rules: См. Добавьте заголовок ответа CORS с подстановочным знаком для примера.