Поделиться через


Использование Azure CDN с CORS

Внимание

Azure CDN standard от Корпорации Майкрософт (классическая версия) будет прекращена 30 сентября 2027 г. Чтобы избежать нарушений в работе служб, важно перенести ваши профили Azure CDN Standard (классический от Майкрософт) на Azure Front Door Standard или Premium до 30 сентября 2027 года. Дополнительные сведения см. в статье Azure CDN Standard от майкрософт (классическая версия).

Azure CDN от Edgio выведен из эксплуатации 15 января 2025 г. Дополнительные сведения см. в статье Azure CDN от Edgio (исчерпывающее руководство по завершению работы).

Что такое CORS?

CORS (совместное использование ресурсов между источниками) — это функция HTTP, которая позволяет веб-приложению, работающему под одним доменом, получать доступ к ресурсам в другом домене. Чтобы снизить вероятность атак с использованием межузловых сценариев, все современные веб-браузеры реализуют ограничение безопасности, известное как политика одного источника. Это ограничение запрещает веб-странице вызывать API в другом домене. CORS позволяет одному источнику (исходному домену) безопасно вызывать интерфейсы API в другом источнике.

Принцип работы

Существует два типа запросов CORS, простые запросы и сложные запросы.

Простые запросы

  1. Браузер отправляет запрос CORS с дополнительным заголовком HTTP-запроса источника . Значение заголовка запроса — источник, обслуживающий родительскую страницу, которая определяется как сочетание протокола,домена и порта. Когда страница из HTTPS://www.contoso.com попытки получить доступ к данным пользователя в источнике fabrikam.com, следующий заголовок запроса будет отправлен в fabrikam.com:

    Origin: https://www.contoso.com

  2. Сервер может ответить любым из следующих заголовков:

    • Ответ с заголовком Access-Control-Allow-Origin, который указывает, какие исходные сайты разрешены. Например:

      Access-Control-Allow-Origin: https://www.contoso.com

    • Код ошибки HTTP, такой как 403, если сервер запрещает межсерверный запрос после проверки заголовка Origin.

    • Заголовок Access-Control-Allow-Origin с подстановочным знаком, который разрешает все источники:

      Access-Control-Allow-Origin: *

Для сложных запросов

Сложный запрос — это запрос CORS, для выполнения которого браузер должен отправить предварительный запрос (т. е. выполнить предварительную проверку) перед отправкой самого запроса CORS. Предварительный запрос запрашивает у сервера разрешения на выполнение исходного запроса CORS. Он представляет собой запрос OPTIONS к тому же URL-адресу.

Совет

Дополнительные сведения о процедурах CORS и типичных проблемах доступны в руководстве по CORS для REST API.

Подстановочный знак или одноисточниковые сценарии

CORS в Azure CDN работает автоматически без дополнительных конфигураций, если заголовок Access-Control-Allow-Origin имеет подстановочный знак (*) или один источник. CDN кэширует первый ответ и последующие запросы используют тот же заголовок.

Если запросы уже были сделаны в CDN до установки CORS в источнике, необходимо очистить содержимое конечной точки, чтобы перезагрузить содержимое с заголовком Access-Control-Allow-Origin .