Примеры конфигураций CORS в разных форматах
- Пример в XML
- Пример в JSON
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>https://client.example.ru</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedHeader>Authorization</AllowedHeader>
<AllowedHeader>Content-Type</AllowedHeader>
<ExposeHeader>ETag</ExposeHeader>
<MaxAgeSeconds>600</MaxAgeSeconds>
</CORSRule>
</CORSConfiguration>
Назначение: позволяет безопасно загружать файлы с другого домена, только чтение (GET, HEAD), с кэшированием preflight-запроса на 10 минут.
{
"CORSRules": [
{
"AllowedOrigins": [
"https://admin.example.com",
"https://dashboard.example.com"
],
"AllowedMethods": ["GET", "POST"],
"AllowedHeaders": ["Authorization", "Content-Type", "X-Custom-Header"],
"ExposeHeaders": ["ETag"],
"MaxAgeSeconds": 600
}
]
}
Расшифровка ключевых параметров:
| Элемент | Назначение | Пример |
|---|---|---|
| AllowedOrigins | Разрешенные домены-источники | "AllowedOrigins": ["https://example.com"] |
| AllowedMethods | Разрешенные HTTP-методы | "AllowedMethods": ["GET", "POST"] |
| AllowedHeaders | Заголовки, которые можно отправлять | "AllowedHeaders": ["Content-Type"] |
| ExposeHeaders | Заголовки, доступные на клиенте | "ExposeHeaders": ["ETag"] |
| MaxAgeSeconds | Кэширование preflight-запроса (в секундах) | "MaxAgeSeconds": 600 (10 минут) |