开发者社区> 问答> 正文

[BUG] 浏览器访问signed url返回AccessDenied

如题,上传文件后,sign_url_auth_with_expire_time计算得到的url无法直接访问,返回AccessDenied。
重现:


#sign_url_auth_with_expire_time(self, method, url, headers = {}, resource="/", timeout = 60):
    method = "GET"
    object = "object_test"
    url = "http://" + HOST + "/" + bucket + "/" + object
    headers = {}
    resource = "/" + bucket + "/" + object

    timeout = 60
    url_with_auth = oss.sign_url_auth_with_expire_time(method, url, headers, resource, timeout)
    print "after signature url is: ", url_with_auth
    res = urllib.urlopen(url_with_auth)
    if res.getcode() != 200:
        print "request auth url Error %s" % res.getcode()
    else:
        print "request auth url, OK"
    print sep

完整代码见附件。





展开
收起
yinhm 2011-09-21 17:49:21 15513 0
5 条回答
写回答
取消 提交回答
  • 问题原因

    权限问题。

    本回答引用自以下KB文档:OSS权限相关常见错误的排查方法

    更多帮助请访问以下站点:

    2021-08-31 17:06:43
    赞同 展开评论 打赏
  • 已经过了快一个月了,不知道这个问题有解决方案没?
    2011-10-22 17:16:33
    赞同 展开评论 打赏
  • 不通过sign_url方式来访问,您可以在程序中使用header签名的方式来调用OSS。
    2011-09-28 10:13:10
    赞同 展开评论 打赏
  • 我能够理解阿里云这么做的因由,在没有确定最终规范之前,能不能先放宽限制。没有这个功能,OSS就沦为个人网盘了。企业又如何能够基于OSS提供服务呢?

    2011-09-22 15:50:46
    赞同 展开评论 打赏
  • 由于网络内容安全的原因,OSS暂时将已经做好的这个功能禁用了,现在只允许用户通过自己的认证方法来访问OSS中的数据。

    我们正在考虑如何在《互联网管理条例》允许的范围内,逐步开放这些功能。
    2011-09-22 14:19:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
WEB浏览器中即将发生的安全变化 立即下载
基于浏览器的实时构建探索之路 立即下载
基于浏览器的实时构建探索之路--玄寂 立即下载