O compartilhamento de recursos de origem cruzada (CORS) é uma solução padrão de origem cruzada fornecida pelo HTML5 para permitir que servidores de aplicações web controlem o acesso entre origens. Isso garante a segurança na transmissão de dados entre origens. Execute o comando cors-options para enviar solicitações HTTP OPTIONS ao Object Storage Service (OSS) e verificar se solicitações específicas de origem cruzada são permitidas.
Para o ossutil 1.6.16 e versões posteriores, use ossutil diretamente como nome do binário na linha de comando. Não atualize o nome do binário de acordo com o sistema operacional. Nas versões do ossutil anteriores à 1.6.16, atualize o nome do binário de acordo com o sistema operacional. Para mais informações, consulte ossutil command reference.
Para mais informações sobre o CORS, consulte cors (cross-origin resource sharing).
Sintaxe do comando
ossutil cors-options oss://bucketname/[objectname]
[--acr-method <value>]
[--origin <value>]
[--acr-headers <value>]
A tabela a seguir descreve os parâmetros e as opções anteriores.
|
Parâmetro/Opção |
Descrição |
|
bucketname |
O nome do bucket a ser acessado. |
|
objectname |
O nome do objeto a ser acessado. |
|
--acr-method |
O método permitido na solicitação. Este parâmetro corresponde a |
|
--origin |
A origem da qual você deseja permitir solicitações de origem cruzada. Exemplo: |
|
--acr-headers |
Os cabeçalhos permitidos na solicitação, exceto os cabeçalhos simples. Este parâmetro corresponde a |
Exemplos
Execute o comando a seguir para verificar se o bucket examplebucket permite solicitações de origem cruzada que utilizam PUT a partir de http://www.aliyun.com:
ossutil cors-options --acr-method put --origin "http://www.aliyun.com" oss://examplebucket
Se o examplebucket permitir solicitações de origem cruzada, a saída será semelhante a esta.
Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 0
0.079520(s) elapsed
Se o examplebucket negar solicitações de origem cruzada, a saída será semelhante a esta.
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****
Opções comuns
Exemplo: sincronize srcfolder do bucket examplebucket de outra conta em China (Shanghai) para examplefolder em testbucket:
ossutil sync oss://examplebucket/srcfolder/ oss://testbucket/examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
Por exemplo, execute o comando a seguir para verificar se um bucket chamado testbucket permite solicitações de origem cruzada que usam PUT a partir de http://www.alibabacloud.com. Esse bucket está localizado na região China (Hangzhou) e pertence a outra conta da 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