引入了直传sdk 可是在测试环境http的情况下,可以上传图片到oss 。生产环境的https上传sdk报错,求大神指教
var client = new OSS.Wrapper({
accessKeyId: accessid,
accessKeySecret: accesskey,
stsToken: securityToken,
region: host,
endpoint:'oss-cn-shenzhen',
secure: true,
bucket: 'airparking-space'
});
client.multipartUpload(fileName).then(function (result) {
console.log(result);
}).catch(function (err) {
console.log(err);
});
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到在生产环境的HTTPS上传时SDK报错,可能是由几个常见原因导致的。下面是一些建议和排查步骤:
SSL证书问题:确认您的OSS服务端是否配置了正确的SSL证书,并且该证书是被信任的。客户端可能因为无法验证服务器的SSL证书而拒绝连接。如果是自定义域名,请确保已正确配置了SSL证书,并通过了所有必要的验证。
CORS设置:在OSS Bucket的CORS设置中,需要允许来自您生产环境域名的跨域请求。请检查Bucket的CORS规则是否包含了生产环境的源(Origin),并且允许了所需的HTTP方法(如PUT、POST等)。
网络环境限制:部分企业或云服务商的网络策略可能会限制对外部HTTPS服务的访问。确认生产环境的网络配置没有阻止对OSS的HTTPS连接。
SDK版本兼容性:确保使用的OSS SDK版本与阿里云OSS服务兼容,有时旧版本的SDK可能不支持某些新特性或者存在已知的问题。可以考虑升级到最新版本的SDK。
详细错误信息:查看catch中的错误信息具体是什么,这将直接指向问题所在。通常错误信息会包含HTTP状态码和错误描述,这对于定位问题至关重要。
STS Token权限:如果使用了STS Token进行临时授权,确保Token具有足够的权限执行multipartUpload操作,并且Token在有效期内。
Endpoint配置:虽然示例代码中已经指定了endpoint为oss-cn-shenzhen,但请注意在不同环境下(尤其是从测试转到生产时),endpoint应该根据实际的Bucket区域进行调整。不过,从您的代码片段看这部分应该是正确的。
针对以上建议,您可以逐一排查并尝试解决。如果问题依然存在,建议收集详细的错误日志并通过阿里云官方渠道寻求技术支持。