全部產品
Search
文件中心

Object Storage Service:cors-options(檢測跨域請求)

更新時間:Jul 31, 2024

跨域資源共用CORS(Cross-Origin Resource Sharing)簡稱跨域訪問,是HTML5提供的標準跨域解決方案,允許Web應用伺服器進行跨域存取控制,確保跨域資料轉送的安全性。cors-options命令通過向OSS發送HTTP OPTIONS請求的方式,用來檢測指定的跨域訪問請求是否被允許。

說明
  • 從ossutil 1.6.16版本開始,命令列中Binary名稱支援直接使用ossutil,您無需根據系統重新整理Binary名稱。如果您的ossutil版本低於1.6.16,則需要根據系統重新整理Binary名稱。更多資訊,請參見命令列工具ossutil命令參考

  • 關於添加CORS配置的具體步驟,請參見cors(跨域資源共用)

命令格式

ossutil cors-options oss://bucketname/[objectname]
[--acr-method <value>]
[--origin <value>]
[--acr-headers <value>] 

參數和選項說明如下:

配置項

說明

bucketname

請求訪問的Bucket名稱。

objectname

請求訪問的Object名稱。

--acr-method

實際請求中用到的方法,對應要求標頭Access-Control-Request-Method。可選值為GETPUTPOSTDELETEHEAD

--origin

標識跨域請求的來源域。例如http://www.aliyun.com

--acr-headers

實際請求中用到的除了簡單頭部之外的Header,對應要求標頭Access-Control-Request-Headers。您可以在請求中設定多個Header,多個Header之間使用英文逗號(,)分隔。例如--acr-headers "header1,header2,header3"

使用樣本

以下樣本用於檢測目標儲存空間examplebucket是否允許指定來源域為http://www.aliyun.com,要求方法為PUT的跨域訪問請求。

ossutil cors-options --acr-method  put --origin "http://www.aliyun.com" oss://examplebucket

如果examplebucket允許該跨域訪問請求,則返回結果將包含如下資訊。

Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 0

0.079520(s) elapsed

如果examplebucket不允許該跨域訪問請求,則返回結果將包含如下資訊。

Error: oss: service returned error: StatusCode=403, ErrorCode=AccessForbidden, ErrorMessage="CORSResponse: This CORS request is not allowed. This is usually
 because the evalution of Origin, request method / Access-Control-Request-Method or Access-Control-Requet-Headers are not whitelisted by the resource's CORS
 spec.", RequestId=60F7F55F553DA2363138****

通用選項

例如,您需要將另一個阿里雲帳號下,華東2(上海)地區下源儲存空間examplebucket的檔案夾srcfolder同步至目標儲存空間testbucket的檔案夾examplefolder,命令如下:

ossutil sync oss://examplebucket/srcfolder/  oss://testbucket/examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

例如,您需要檢測另一個阿里雲帳號下,華東1(杭州)地區名為testbucket的Bucket是否允許指定來源域為http://www.alibabacloud.com,要求方法為PUT的跨域訪問請求,命令如下:

ossutil cors-options --acr-method  put --origin "http://www.alibabacloud.com" oss:/testbucket -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

關於此命令的其他通用選項的更多資訊,請參見通用選項