使用跨來源資源共用 () CORS - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用跨來源資源共用 () 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,請參閱下列主題。