CORS به شما امکان می‌دهد تا دسترسی مرورگرها به منابع موجود در باکت‌های آبجکت استوریج را مدیریت کنید. این قابلیت در سناریوهایی مانند میزبانی وب‌سایت‌های ایستا و آپلود فونت‌ها کاربرد دارد. برای اطلاعات بیشتر درباره مدیریت CORS می‌توانید مستندات رسمی AWS S3 CORS را مطالعه کنید.

چه زمانی به تنظیمات CORS نیاز دارید؟

  • میزبانی وب‌سایت ایستا: فرض کنید وب‌سایتی را روی یک باکت (مثلاً باکت website) در سرویس آبجکت استوریج ستون میزبانی کرده‌اید. آدرس وب‌سایت شما به این شکل خواهد بود:
    https://website.s3-website.thr1.sotoon.ir
    در حالت عادی، مرورگرها مانع از ارسال درخواست‌های به منابعی مانند فایل‌های جاوا اسکریپت می‌شوند. با پیکربندی CORS، این محدودیت برداشته می‌شود و امکان تعامل وب‌سایت با منابع باکت فراهم می‌گردد.
  • میزبانی فونت‌ها: مرورگرها برای خواندن فونت‌ها از باکت، ابتدا درخواست‌های Preflight (بررسی اولیه مجوز CORS) ارسال می‌کنند. با تنظیم CORS می‌توانید این درخواست‌ها را از هر مبدأیی مجاز کنید.

تنظیم CORS با استفاده از CLI

اعمال تنظیمات CORS روی یک باکت

برای اعمال تنظیمات CORS روی یک باکت از دستور زیر استفاده کنید:

aws --endpoint ENDPOINT s3api put-bucket-cors -- bucket BUCKET_NAME cors-configuration file://PATH_TO_CORS_CONFIGURATION_JSON

نمونه‌ای از محتوای فایل JSON برای تنظیمات CORS:

{
  "CORSRules": [
    {
      "AllowedHeaders": ["string", "..."],
      "AllowedMethods": ["string", "..."],
      "AllowedOrigins": ["string", "..."],
      "ExposeHeaders": ["string", "..."],
      "MaxAgeSeconds": integer
    }
  ]
}