CORS-конфигурация бакетов
Статья создана
Обновлена 26 августа 2024 г.
Object Storage позволяет управлять конфигурацией CORS бакета. Для загрузки конфигурации CORS в Object Storage необходимо сформировать XML-документ, описанный в этом разделе. Скачивая существующую конфигурацию, вы получаете документ такого же формата.
Общий вид конфигурации:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>URL</AllowedOrigin>
<AllowedMethod>HTTP_Method</AllowedMethod>
<AllowedHeader>Header_Name</AllowedHeader>
...
</CORSRule>
...
</CORSConfiguration>
Конфигурация может содержать не более 100 правил.
Элементы
Элемент | Описание |
---|---|
CORSConfiguration |
Корневой элемент конфигурации CORS. Не может содержать более 100 элементов CORSRule Путь: /CORSConfiguration . |
CORSRule |
Правило для фильтрации входящих запросов к ресурсу. Каждое правило должно содержать хотя бы по одному элементу AllowedMethod и AllowedOrigin .Путь: /CORSConfiguration/CORSRule . |
ID |
Уникальный идентификатор правила (не более 255 символов). Необязательный. Можно использовать для поиска правила в файле. Путь: /CORSConfiguration/CORSRule/ID . |
AllowedMethod |
HTTP метод (PUT , GET , HEAD , POST , DELETE ), разрешенный для использования при кросс-доменном запросе. Каждый метод следует указать в отдельном элементе. Обязательно указать хотя бы один метод.Путь: /CORSConfiguration/CORSRule/AllowedMethod . |
AllowedOrigin |
Сайт, с которого разрешены кросс-доменные запросы к бакету. Должен быть указан хотя бы один элемент AllowedOrigin .Может содержать не более одного символа * . Примеры: http://*.example.com , * .Путь: /CORSConfiguration/CORSRule/AllowedOrigin . |
AllowedHeader |
Разрешенный заголовок в запросе к объекту. Если разрешенных заголовков несколько, то каждый следует указать в отдельном AllowedHeader . В имени заголовка можно использовать один символ * для определения шаблона, например <AllowedHeader>*</AllowedHeader> означает, что разрешены все заголовки.Запрос методом options содержит заголовок Access-Control-Request-Headers . Object Storage сопоставляет заголовки, переданные в Access-Control-Request-Headers , с набором AllowedHeader и отвечает на options списком разрешенных.Путь: /CORSConfiguration/CORSRule/AllowedHeader . |
MaxAgeSeconds |
Время в секундах, в течение которого браузер сохраняет в кэше результат запроса к объекту методом options. Путь: /CORSConfiguration/CORSRule/MaxAgeSeconds . |
ExposeHeader |
Заголовок, разрешенный к показу в JavaScript-приложении в браузере. Если допустимы несколько заголовков, то укажите каждый из них в отдельном элементе. В запросе к объекту JavaScript-клиент может оперировать только заголовками, определенными в элементах ExposeHeader .Путь: /CORSConfiguration/CORSRule/ExposeHeader . |
Пример
Приведенная ниже конфигурация позволяет отправлять кросс-доменные запросы с сайта http://www.example.com
методами PUT
, POST
, DELETE
без ограничений по заголовкам.
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://www.example.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>