更新时间:2023-11-09 GMT+08:00
设置跨域规则
您可以通过ObsClient.setBucketCors设置桶的跨域规则,如果原规则存在则覆盖原规则。以下代码展示了如何设置跨域规则:
// 引入obs库 // 使用npm安装 var ObsClient = require('esdk-obs-nodejs'); // 使用源码安装 // var ObsClient = require('./lib/obs'); // 创建ObsClient实例 var obsClient = new ObsClient({ //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。 //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/intl/zh-cn/usermanual-ca/ca_01_0003.html access_key_id: process.env.ACCESS_KEY_ID, secret_access_key: process.env.SECRET_ACCESS_KEY, server : 'https://your-endpoint' }); obsClient.setBucketCors({ Bucket:'bucketname', CorsRules:[ { // 指定允许的跨域请求方法(GET/PUT/DELETE/POST/HEAD) AllowedMethod: ['GET','HEAD','PUT'], // 指定允许跨域请求的来源 AllowedOrigin: ['http://www.a.com','http://www.b.com'], // 控制在OPTIONS预取指令中Access-Control-Request-Headers头中指定的header是否被允许使用 AllowedHeader: ['x-obs-header'], // 指定允许用户从应用程序中访问的header ExposeHeader: ['x-obs-expose-header'], // 指定浏览器对特定资源的预取(OPTIONS)请求返回结果的缓存时间,单位为秒 MaxAgeSeconds: 10 } ] }, (err, result) => { if(err){ console.log('Error-->' + err); }else{ console.log('Status-->' + result.CommonMsg.Status); } });
![](https://support.huaweicloud.com/intl/zh-cn/sdk-nodejs-devg-obs/public_sys-resources/note_3.0-zh-cn.png)
- 使用CorsRules参数指定桶的CORS配置信息。
- AllowedOrigin、AllowedHeader都能够最多支持一个“*”通配符。“*”表示对于所有的域来源或者头域都满足。
父主题: 跨域资源共享