Closed huacnlee closed 8 years ago
这是仅限于上传/删除等 Update 操作还是全部操作?有相关参考文档吗?
主要是上传,这样能用内部网络带宽,速度更快,也不回占用外部带宽
在 2016年2月14日 星期日,22:06,Newell Zhu 写道:
这是仅限于上传/删除等 Update 操作还是全部操作?有相关参考文档吗?
— Reply to this email directly or view it on GitHub (https://github.com/aliyun-beta/aliyun-oss-ruby-sdk/issues/5#issuecomment-183895234).
可以直接配置 Host 为内网地址
另外可以使用直接上传到 Aliyun OSS: https://github.com/aliyun-beta/aliyun-oss-ruby-sdk#directly-post-file-to-aliyun-oss
那样不行,我试过了,如果是 private 的空间,会因为上传的时候 host 用于签名的信息是 internal,而下载却是 public 的地址而签名验证无法通过
签名的时候好像并不需要 Host 信息,你是如何实现签名的
没签名啊,你看 carrierwave-aliyun 里面都是直接调 aliyun-oss-ruby-sdk 的
那可以提供一下下载时候你返回的错误信息,我尝试重现一下
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>
The request signature we calculated does not match the signature you provided. Check your key and signing method.
</Message>
<RequestId>56C13766CA2A04895ADBE8AE</RequestId>
<HostId>dianjihe.oss-cn-beijing.aliyuncs.com</HostId>
<OSSAccessKeyId>Y6B9ypM8Pkb73QmY</OSSAccessKeyId>
<SignatureProvided>usRdjuk9n s1Q4M uMzSTEMsSww=</SignatureProvided>
<StringToSign>
GET 1455506803 /dianjihe/attachment/2016/4d3b1137da80d949a183404a437f6ca8.png
</StringToSign>
<StringToSignBytes>
47 45 54 0A 0A 0A 31 34 35 35 35 30 36 38 30 33 0A 2F 64 69 61 6E 6A 69 68 65 2F 61 74 74 61 63 68 6D 65 6E 74 2F 32 30 31 36 2F 34 64 33 62 31 31 33 37 64 61 38 30 64 39 34 39 61 31 38 33 34 30 34 61 34 33 37 66 36 63 61 38 2E 70 6E 67
</StringToSignBytes>
</Error>
你使用过的方法是: client#bucket_get_object ?
bucket_get_object_share_link
阿里云的控制台生成的 URL 可以使用吗?
@huacnlee 怎么样,问题解决了吗? 按照你的意思,上传走内部网络,下载走公网,不知道理论是否可行。 我现在没有环境,能否帮我测试一下,这种情况下阿里云控制台生成的下载链接能不能用?
先别管吧,现在没需求,等有需要的时候我来实现好了
:+1:
具体怎么使用?