Le partage de ressources cross-origin (CORS) est une norme HTML5 permettant aux serveurs d'applications web de contrôler l'accès cross-origin, garantissant ainsi la sécurité des transmissions de données entre différentes origines. Exécutez la commande cors-options pour envoyer des requêtes HTTP OPTIONS à Object Storage Service (OSS) et vérifier si certaines requêtes cross-origin sont autorisées.
Pour ossutil 1.6.16 et versions ultérieures, utilisez directement
ossutilcomme nom binaire dans la ligne de commande. Inutile d'adapter le nom binaire au système d'exploitation. Pour les versions antérieures à 1.6.16, adaptez le nom binaire selon votre système d'exploitation. Pour plus d'informations, consultez Prise en main rapide de l'outil de ligne de commande ossutil.Pour en savoir plus sur CORS, consultez cors (partage de ressources cross-origin).
Syntaxe de la commande
ossutil cors-options oss://bucketname/[objectname]
[--acr-method <value>]
[--origin <value>]
[--acr-headers <value>]
Le tableau suivant décrit les paramètres et options ci-dessus.
|
Paramètre/Option |
Description |
|
bucketname |
Nom du bucket à accéder. |
|
objectname |
Nom de l'objet à accéder. |
|
--acr-method |
Méthode autorisée dans la requête. Ce paramètre correspond à |
|
--origin |
Origine depuis laquelle vous souhaitez autoriser les requêtes cross-origin. Exemple : |
|
--acr-headers |
En-têtes utilisables dans la requête, à l'exception des en-têtes simples. Ce paramètre correspond à |
Exemples
Exécutez la commande suivante pour vérifier si le bucket examplebucket autorise les requêtes cross-origin utilisant PUT depuis http://www.aliyun.com :
ossutil cors-options --acr-method put --origin "http://www.aliyun.com" oss://examplebucket
Si examplebucket autorise les requêtes cross-origin, un résultat similaire s'affiche.
Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 0
0.079520(s) elapsed
Si examplebucket refuse les requêtes cross-origin, un résultat similaire s'affiche.
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****
Options courantes
Exemple : synchronisez srcfolder depuis le bucket examplebucket d'un autre compte dans la région Chine (Shanghai) vers examplefolder dans testbucket :
ossutil sync oss://examplebucket/srcfolder/ oss://testbucket/examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
Par exemple, exécutez la commande suivante pour vérifier si un bucket nommé testbucket autorise les requêtes cross-origin utilisant PUT depuis http://www.alibabacloud.com. Ce bucket se trouve dans la région Chine (Hangzhou) et appartient à un autre compte 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