Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:PutBucketCors

Son Güncelleme:Oct 01, 2026

Bir paket için çapraz kaynak paylaşımı (CORS) kurallarını yapılandırır.

Kullanım notları

  • Varsayılan olarak devre dışı tasarım

    CORS varsayılan olarak devre dışıdır. Tüm çapraz kaynak isteklerine izin verilmez.

  • Üzerine yazma mekanizması

    PutBucketCors ile yapılandırdığınız yeni CORS kuralları, paket için mevcut tüm CORS kurallarının üzerine yazar.

  • Uygulamalarda CORS kullanımı

    Uygulamalarda CORS kullanmadan önce PutBucketCors çağrısı yaparak CORS kurallarını yapılandırın.

    Örneğin, tarayıcı üzerinden XMLHttpRequest kullanarak example.com adresinin OSS'ye erişmesine izin vermek için bu işlemi kullanarak XML biçiminde bir CORS kuralı yapılandırın.

  • CORS kuralı eşleşmesi

    OSS bir paket için çapraz kaynak isteği veya OPTIONS isteği aldığında, yapılandırılmış CORS kurallarını sırayla denetler ve ilk eşleşme için ilgili üst bilgileri döndürür. Hiçbir kural eşleşmezse OSS, yanıtta CORS üst bilgilerini içermez.

    Bir istek yalnızca aşağıdaki koşulların tümü karşılandığında bir CORS kuralıyla eşleşir:

    • İstek kaynağı, kuraldaki bir AllowedOrigin değeriyle eşleşir.

    • İstek yöntemi veya Access-Control-Request-Method üst bilgi değeri, bir AllowedMethod değeriyle eşleşir.

    • Access-Control-Request-Headers içindeki her üst bilgi, bir AllowedHeader değeriyle eşleşir.

İzinler

Varsayılan olarak bir Alibaba Cloud hesabı tam izne sahiptir. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları veya RAM rolleri varsayılan olarak herhangi bir izne sahip değildir. Alibaba Cloud hesabı veya hesap yöneticisi, işlem izinlerini RAM ilkeleri veya Paket İlkesi aracılığıyla vermelidir.


API


Eylem


Açıklama


PutBucketCors


oss:PutBucketCors


Bir paket için çapraz kaynak paylaşımı (CORS) kurallarını yapılandırır.

İstek sözdizimi

PUT /?cors HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
    <CORSRule>
      <AllowedOrigin>the origin you want allow CORS request from</AllowedOrigin>
      <AllowedOrigin>…</AllowedOrigin>
      <AllowedMethod>HTTP method</AllowedMethod>
      <AllowedMethod>…</AllowedMethod>
        <AllowedHeader> headers that allowed browser to send</AllowedHeader>
          <AllowedHeader>…</AllowedHeader>
          <ExposeHeader> headers in response that can access from client app</ExposeHeader>
          <ExposeHeader>…</ExposeHeader>
          <MaxAgeSeconds>time to cache pre-fight response</MaxAgeSeconds>
    </CORSRule>
    <CORSRule>
      ...
    </CORSRule>
...
</CORSConfiguration >

İstek öğeleri

Öğe

Tür

Gerekli

Örnek

Açıklama

CORSRule

Konteyner

Evet

Yok

CORS kurallarını depolayan konteyner.

Maksimum: Paket başına 20 CORS kuralı. Maksimum istek gövdesi boyutu: 16 KB.

Üst düğümler: CORSConfiguration

AllowedOrigin

Dize

Evet

*

İzin verilen çapraz kaynak istek kaynağı. Birden çok kaynak için birden çok öğe belirtin.

Joker karakter olarak kullanılan bir yıldız işareti (*) tüm kaynaklara izin verir. Öğe başına yalnızca bir joker karakter desteklenir.

Üst düğümler: CORSRule

AllowedMethod

Numaralandırma

Evet

GET

İzin verilen çapraz kaynak istek yöntemi. Geçerli değerler: GET, PUT, DELETE, POST ve HEAD.

Üst düğümler: CORSRule

AllowedHeader

Dize

Hayır

Authorization

Çapraz kaynak isteklerinde izin verilen üst bilgiler, ön kontrol isteklerindeki Access-Control-Request-Headers ile doğrulanır.

Access-Control-Request-Headers içindeki her üst bilgi bir AllowedHeader değeriyle eşleşmelidir.

Önemli

AllowedHeader için joker karakter olarak yalnızca bir yıldız işareti (*) kullanabilirsiniz. Aşağıdaki karakterler desteklenmez:

  • <

  • >

  • &

  • '

  • "

Üst düğümler: CORSRule

ExposeHeader

Dize

Hayır

x-oss-test

JavaScript XMLHttpRequest gibi istemci uygulamaları tarafından erişilebilen yanıt üst bilgileri.

Önemli

Aşağıdaki karakterler desteklenmez:

  • *

  • <

  • >

  • &

  • '

  • "

Üst düğümler: CORSRule

MaxAgeSeconds

Tamsayı

Hayır

100

Tarayıcının ön kontrol yanıtını önbellekte tutabileceği süre. Birim: saniye.

CORS kuralı başına yalnızca bir MaxAgeSeconds öğesine izin verilir.

Üst düğümler: CORSRule

CORSConfiguration

Konteyner

Evet

Yok

Paket için CORS yapılandırmalarını depolayan konteyner.

Üst düğümler: yok

ResponseVary

Boolean

Hayır

false

Vary: Origin üst bilgisinin döndürülüp döndürülmeyeceği. Geçerli değerler:

  • true: İsteğin çapraz kaynak olup olmadığından veya başarılı olmasından bağımsız olarak Vary: Origin üst bilgisini döndürür.

  • false: Vary: Origin üst bilgisini döndürmez.

Önemli

Yalnızca en az bir CORS kuralı yapılandırıldığında geçerlidir.

Bu işlem ayrıca Ortak HTTP üst bilgilerini kullanır.

Yanıt üst bilgileri

PutBucketCors yanıtları yalnızca Ortak HTTP üst bilgilerini içerir.

Örnekler

  • Örnek istek

    PUT /?cors HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Content-Length: 186
    Date: Fri, 04 May 2012 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    <?xml version="1.0" encoding="UTF-8"?>
    <CORSConfiguration>
        <CORSRule>
          <AllowedOrigin>*</AllowedOrigin>
          <AllowedMethod>PUT</AllowedMethod>
          <AllowedMethod>GET</AllowedMethod>
          <AllowedHeader>Authorization</AllowedHeader>
        </CORSRule>
        <CORSRule>
          <AllowedOrigin>http://example.com</AllowedOrigin>
          <AllowedOrigin>http://example.net</AllowedOrigin>
          <AllowedMethod>GET</AllowedMethod>
          <AllowedHeader> Authorization</AllowedHeader>
          <ExposeHeader>x-oss-test</ExposeHeader>
          <ExposeHeader>x-oss-test1</ExposeHeader>
          <MaxAgeSeconds>100</MaxAgeSeconds>
        </CORSRule>
        <ResponseVary>false</ResponseVary>
    </CORSConfiguration >
  • Örnek yanıt

    HTTP/1.1 200 OK
    x-oss-request-id: 50519080C4689A033D0*****
    Date: Fri, 04 May 2012 03:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
    x-oss-server-time: 94

SDK

Aşağıdaki OSS SDK'ları PutBucketCors işlemini destekler:

ossutil

PutBucketCors işlemine karşılık gelen ossutil komutu hakkında bilgi için bkz. put-bucket-cors.

Hata kodları


Hata kodu


HTTP durum kodu


Açıklama


InvalidDigest


400


İstek gövdesinden hesaplanan Content-MD5 değeri, istek üst bilgisindeki Content-MD5 değeriyle eşleşmiyor.