當我們收到開發反饋s3存在跨域問題
解決步驟:
- 配置 S3 存儲桶的 CORS 設置:
- 登錄到?AWS 管理控制臺。
- 轉到?S3?服務。
- 選擇你存儲文件的?存儲桶。
- 點擊?權限?標簽頁。
- 在?跨域資源共享(CORS)配置?部分,點擊?編輯。
登陸到aws管理平臺,轉到s3服務找到存在夸域問題的s3實例
進入s3里面點擊權限
下拉頁面找到跨源資源共享(CORS)位置
在里面添加允許夸域配置
[
? ? {
? ? ? ? "AllowedHeaders": [
? ? ? ? ? ? "*"
? ? ? ? ],
? ? ? ? "AllowedMethods": [
? ? ? ? ? ? "GET",
? ? ? ? ? ? "PUT",
? ? ? ? ? ? "POST",
? ? ? ? ? ? "DELETE",
? ? ? ? ? ? "HEAD"
? ? ? ? ],
? ? ? ? "AllowedOrigins": [
? ? ? ? ? ? "*"
? ? ? ? ],
? ? ? ? "ExposeHeaders": []
? ? }
]
上面配置解釋:
1. AllowedHeaders
json
"AllowedHeaders": ["*"]
解釋:這個字段定義了哪些請求頭可以被瀏覽器接受。在這里,* 表示允許所有的請求頭。這意味著客戶端可以發送任何類型的 HTTP 請求頭。
用途:當一個請求發送到服務器時,瀏覽器會發送一些額外的頭部(如 Content-Type、Authorization 等),如果服務器允許這些頭部,才會接受跨域請求。* 表示不限制任何頭部,允許所有頭部。
2. AllowedMethods
json
"AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"]
解釋:這個字段指定允許哪些 HTTP 方法進行跨域請求。在這里,允許的方法是:GET、PUT、POST、DELETE 和 HEAD。
用途:瀏覽器在發起跨域請求時,會限制可以使用的 HTTP 方法。這個字段告訴服務器哪些方法是允許的。如果客戶端使用其他方法,服務器會拒絕請求。
3. AllowedOrigins
json
"AllowedOrigins": ["*"]
解釋:這個字段指定允許哪些來源(即外部域名)訪問該資源。在這里,* 表示允許所有的來源。
用途:瀏覽器在進行跨域請求時,會檢查請求來源的域名。如果 AllowedOrigins 包含該來源,則請求會被允許;否則會被拒絕。* 表示沒有來源限制,允許所有來源的請求。
4. ExposeHeaders
json
"ExposeHeaders": []
解釋:這個字段定義了哪些響應頭部可以暴露給瀏覽器。[] 為空數組表示不暴露任何響應頭。
用途:在跨域請求中,某些響應頭(如 Authorization)默認情況下不會暴露給客戶端腳本。如果你希望客戶端腳本訪問某些響應頭(例如 X-Custom-Header),你可以將它們列在這個字段中。這里為空表示不允許暴露任何頭部。
總結:
這段 CORS 配置設置允許:所有來源(AllowedOrigins: "*")進行請求。
所有請求頭(AllowedHeaders: "*")和常見的 HTTP 方法(GET, POST, PUT, DELETE, HEAD)。
不暴露任何響應頭給客戶端(ExposeHeaders: [])。
完成以上配置解決跨域問題