El uso compartido de recursos de origen cruzado (CORS) es una solución estándar que proporciona HTML5 para permitir que los servidores de aplicaciones web controlen el acceso entre orígenes. Esto garantiza la seguridad en la transmisión de datos entre distintos orígenes. Ejecute el comando cors-options para enviar solicitudes HTTP OPTIONS a Object Storage Service (OSS) y comprobar si se permiten determinadas solicitudes de origen cruzado.
En ossutil 1.6.16 y versiones posteriores, utilice directamente ossutil como nombre del binario en la línea de comandos. No es necesario modificar el nombre del binario según el sistema operativo. En versiones anteriores a la 1.6.16, actualice el nombre del binario de acuerdo con el sistema operativo. Para obtener más información, consulte ossutil command reference.
Para obtener más información sobre CORS, consulte cors (cross-origin resource sharing).
Sintaxis del comando
ossutil cors-options oss://bucketname/[objectname]
[--acr-method <value>]
[--origin <value>]
[--acr-headers <value>]
A continuación se describen los parámetros y las opciones a continuación.
|
Parámetro u opción |
Descripción |
|
bucketname |
El nombre del bucket al que desea acceder. |
|
objectname |
El nombre del objeto al que desea acceder. |
|
--acr-method |
El método permitido en la solicitud. Este parámetro corresponde a |
|
--origin |
El origen desde el cual desea permitir las solicitudes de origen cruzado. Por ejemplo: |
|
--acr-headers |
Los encabezados que se pueden usar en la solicitud, excepto los encabezados simples. Este parámetro corresponde a |
Ejemplos
Ejecute el siguiente comando para comprobar si el bucket examplebucket permite solicitudes de origen cruzado que usan PUT desde http://www.aliyun.com:
ossutil cors-options --acr-method put --origin "http://www.aliyun.com" oss://examplebucket
Si examplebucket permite las solicitudes de origen cruzado, se muestra un resultado similar al a continuación.
Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 0
0.079520(s) elapsed
Si examplebucket rechaza las solicitudes de origen cruzado, se muestra un resultado similar al a continuación.
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****
Opciones comunes
Por ejemplo, sincronice srcfolder del bucket examplebucket de otra cuenta, ubicado en China (Shanghai), hacia examplefolder en testbucket:
ossutil sync oss://examplebucket/srcfolder/ oss://testbucket/examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
Para comprobar si un bucket llamado testbucket permite solicitudes de origen cruzado que usan PUT desde http://www.alibabacloud.com, ejecute el siguiente comando. Este bucket se encuentra en la región China (Hangzhou) y pertenece a otra cuenta de Alibaba Cloud.
ossutil cors-options --acr-method put --origin "http://www.alibabacloud.com" oss:/testbucket -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret