我正在尝试使用带有 ActionScript3 的 SSL 访问 Amazon S3 存储桶中的文件。
当我使用这种格式时...
https://s3.amazonaws.com/bucket.name/filename
我收到安全沙箱错误。 “错误 #2048:违反安全沙箱:”
当我切换到这种格式时...
https://bucket.name.s3.amazonaws.com/filename
它就像一个魅力(直到我在 Firefox 以外的浏览器上尝试它)。它为其他浏览器生成证书错误(主机名不匹配)。一旦我添加异常(exception),它就可以正常工作。但这不切实际。
第三个选项是理想的版本...
https://www.myowndomain.com/filename
... 为所有浏览器生成相同的安全违规。不用说,域映射到桶。
存储桶有自己的 crossdomain.xml。
这些文件是自定义二进制文件。
<cross-domain-policy>
<allow-access-from domain="*" secure="false"/>
<site-control permitted-cross-domain-policies="all"/>
</cross-domain-policy>
我仔细阅读了 Flash Player 10 的安全白皮书和新规则。到目前为止运气不好。
有什么想法吗?
好的,它变得更有趣了,我怀疑这是导致问题的原因。在清理我的桶的名称时,我过于简单化了。我的存储桶名称中有一个点,显然这不是一件好事。
http://faindu.wordpress.com/2008/12/18/amazon-s3-flash-crossdomainxml-ie7-certifacte-error/
所以,如果有替代方案,我将不胜感激。
最佳答案
这是由于浏览器的限制。此外,如果您尝试从 AS3 访问 S3,那么您可能会罚款 AS3 API非常有用,尽管这也会遇到浏览器限制:
This is an AS3 library for accessing Amazon's S3 service. It only works in Apollo because of restrictions in the browser player.
关于flash - 从闪存安全访问 Amazon S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/922431/