本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CORS模型組態的元素
若要將值區設定為允許跨來源要求,請建立CORS組態。CORS組態是一份文件,其中包含的元素可識別您允許存取值區的來源、您將支援每個來源的作業 (HTTP方法),以及其他特定於作業的資訊。最多可以將 100 條規則新增至組態。您可以將CORS配置作為cors
子資源添加到值區。
如果您在 S3 主控台CORS中進行設定,則必須使用JSON來建立CORS組態。新的 S3 主控台僅支援JSONCORS組態。
如需有關CORS組態及其中元素的詳細資訊,請參閱下列主題。如需有關如何新增CORS模型組態的指示,請參閱設定跨來源資源共用 () CORS。
重要
在 S3 主控台中,組CORS態必須是JSON。
AllowedMethods
元素
在CORS組態中,您可以為AllowedMethods
元素指定下列值。
-
GET
-
PUT
-
POST
-
DELETE
-
HEAD
AllowedOrigins
元素
在 AllowedOrigins
元素中,可指定希望允許跨網域要求的來源,例如 http://www.example.com
。原始字串只可包含一個 '*
' 萬用字元,例如 http://*.example.com
。您可以選擇性地指定 '*
' 作為來源,允許所有來源傳送跨來源要求。您也可以指定 https
而只允許安全的來源。
AllowedHeaders
元素
AllowedHeaders
元素透過 Access-Control-Request-Headers
標頭,可指定在預檢要求中允許的標頭。標頭中的每個標Access-Control-Request-Headers
題名稱都必須與元素中的對應條目相符。Amazon S3 在要求的回應中只會傳送允許的標頭。如需 Amazon S3 請求中可使用的標頭範例清單,請前往 Amazon 簡單儲存服務API參考指南中的一般請求標頭。
組態中的每個 AllowedHeaders 字串最多可包含一個 * 萬用字元。例如,<AllowedHeader>x-amz-*</AllowedHeader>
會啟用所有 Amazon 專屬的標頭。
ExposeHeaders
元素
每個ExposeHeader
元素會在回應中識別您希望客戶能夠從其應用程式存取的標頭 (例如,從 JavaScriptXMLHttpRequest
物件)。如需常見的 Amazon S3 回應標頭清單,請前往 Amazon 簡單儲存服務API參考指南中的常見回應標頭。
MaxAgeSeconds
元素
MaxAgeSeconds
元素會指定您的瀏覽器可快取資源、HTTP方法和來源所識別之預檢要求回應的時間 (以秒為單位)。
CORS配置示例
除了使用 Amazon S3 網站端點存取網站之外,您也可以使用自己的網域 (例如 example1.com
) 提供內容。如需使用自有網域的資訊,請參閱「教學課程:使用向 Route 53 註冊的自訂網域設定靜態網站」。
下面的示例CORS配置有三個規則,它們被指定為CORSRule
元素:
-
第一個規則允許來自來源的跨PUT
http://www.example1.com
來源和DELETE請求。POST此規則也允許透過標頭預檢OPTIONS要求中的所有標Access-Control-Request-Headers
頭。為了回應預檢OPTIONS請求,Amazon S3 會傳回請求的標頭。 -
第二項規則允許與第一項規則相同的跨來源要求,但該規則適用於另一個來源 (
http://www.example2.com
)。 -
第三個規則允許來自所有來源的跨來源GET要求。
*
萬用字元表示所有來源。
此CORS組態也允許選用的組態參數,如下列CORS組態所示。在此範例中,CORS組態允許來自來源的跨來PUThttp://www.example.com
源和DELETE要求。POST
先前組態中的 CORSRule
元素,包含下列選用元素:
-
MaxAgeSeconds
指定瀏覽器快取 Amazon S3 回應至指定資源的預檢OPTIONS請求的時間 (以秒為單位)。藉由快取回應的方式,瀏覽器便不需要在原始要求重複時,將再次向 Amazon S3 傳送預檢要求。 -
ExposeHeader
識別客戶能夠從其應用程式 (例如x-amz-server-side-encryption
x-amz-request-id
,從 JavaScriptXMLHttpRequest
物件x-amz-id-2
) 存取的回應標頭 (在此範例中為、和)。