本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用跨來源資源共用 () CORS
跨來源資源共用 (CORS) 定義了載入到一個網域中的用戶端 Web 應用程式與不同網域中的資源互動的方式。透過CORS支援,您可以使用 Amazon S3 建置豐富的用戶端 Web 應用程式,並選擇性地允許跨來源存取 Amazon S3 資源。
本節提供的概觀CORS。這些副主題說明如何CORS使用 Amazon S3 主控台啟用,或透過程式設計方式使用 Amazon S3 REST API 和. AWS SDKs
跨來源資源分享:使用案例情境
以下是使用的範例案例CORS。
案例 1
假設您正在名為 website
的 Amazon S3 儲存貯體中託管網站,如 使用 Amazon S3 託管靜態網站 所述。您的使用者載入了網站端點:
http://website.s3-website.us-east-1.amazonaws.com
現在,您想要在存放在此儲存貯體的網頁 JavaScript 上使用,以便能夠使用儲存貯體的 Amazon S3 API 端點,對同一個儲存貯體進行驗證GET和PUT請求website.s3.us-east-1.amazonaws.com
。瀏覽器通常會阻 JavaScript 止允許這些請求,但是CORS您可以將存儲桶配置為顯式啟用跨源請求。website.s3-website.us-east-1.amazonaws.com
案例 2
假設您希望從 S3 儲存貯體託管一個 Web 字型。同樣地,瀏覽器需要CORS檢查 (也稱為預檢檢查) 來載入網頁字型。您可以設定裝載 Web 字體的儲存貯體,允許任何來源發出這些要求。
Amazon S3 如何評估存儲桶上的CORS配置?
Amazon S3 從瀏覽器收到預檢請求時,會評估儲存貯體的CORS組態,並使用符合傳入瀏覽器請求的第一個CORSRule
規則來啟用跨來源請求。符合規則必須滿足下列條件:
-
儲存貯體要CORS求中的
Origin
標頭必須與CORS組態中AllowedOrigins
元素的來源相符。 -
在值區的CORS要求
Access-Control-Request-Method
中指定的HTTP方法,必須與CORS組態中AllowedMethods
元素中列出的方法相符。 -
飛行前請求中標
Access-Control-Request-Headers
題中列出的標題必須與配置中AllowedHeaders
元素中的標題相匹CORS配。
注意
當您在值區CORS上啟用時,ACLs和政策仍會繼續套用。
物件 Lambda 存取點如何支援 CORS
當 S3 Object Lambda 從瀏覽器接收到請求,或請求包含 Origin
標頭時,S3 Object Lambda 一律會新增 “AllowedOrigins":"*"
標頭欄位。
如需使用的相關資訊CORS,請參閱下列主題。