Saqlash va zaxira nusxalar

CORS’ni sozlash

1 daqiqa o'qish

Brauzerlar, agar server aniq ruxsat bermasa, veb-sahifadan boshqa domenga soʻrovlarni bloklaydi. CORS (Cross-Origin Resource Sharing) qoidalari saytingizga bucketdan fayllarni yuklash yoki fayllarni bevosita brauzerdan bucketga yuborish imkonini beradi.

Misollarda UzCloud uchun sozlangan AWS CLI ishlatiladi. my-bucket ni oʻz bucketingiz nomiga almashtiring.

Qoidalarni yaratish

Qoidalarni cors.json faylida tavsiflang. Ushbu misol https://example.com saytiga obyektlarni oʻqish va ularni presigned URL orqali yuklash imkonini beradi:

{
  "CORSRules": [
    {
      "AllowedOrigins": ["https://example.com"],
      "AllowedMethods": ["GET", "HEAD", "PUT"],
      "AllowedHeaders": ["*"],
      "ExposeHeaders": ["ETag"],
      "MaxAgeSeconds": 3600
    }
  ]
}
  • AllowedOrigins — saytingiz domenlari. Fayllar ommaviy boʻlmasa, * dan foydalanmang.
  • AllowedMethods — ruxsat etilgan HTTP usullari.
  • MaxAgeSeconds — brauzer dastlabki soʻrov natijasini qancha vaqt keshlaydi.

Qoidalarni qoʻllang va tekshiring:

aws s3api put-bucket-cors --bucket my-bucket --cors-configuration file://cors.json
aws s3api get-bucket-cors --bucket my-bucket

Buyruqlar satridan tekshirish

Brauzer qilganidek dastlabki soʻrov yuboring. Javobda Access-Control-Allow-Origin sarlavhasi boʻlishi kerak:

curl -i -X OPTIONS "https://s3.uzcstorage.uz/my-bucket/image.png" \
  -H "Origin: https://example.com" \
  -H "Access-Control-Request-Method: GET"

Qoidalarni oʻchirish uchun: aws s3api delete-bucket-cors --bucket my-bucket.

Maslahat

Shuningdek qarang: