2

我正在尝试使用带有 ActionScript3 的 SSL 访问 Amazon S3 存储桶中的文件。

当我使用这种格式...

https://s3.amazonaws.com/bucket.name/filename

我收到安全沙盒错误。“错误 #2048:违反安全沙箱:”

当我切换到这种格式时......

https://bucket.name.s3.amazonaws.com/filename

它就像一个魅力(直到我在 Firefox 以外的浏览器上尝试它)。它会为其他浏览器生成证书错误(主机名不匹配)。一旦我添加异常,它就可以正常工作。但这不切实际。

第三个选项将是理想的版本...

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/

因此,如果有替代方案,我将不胜感激。

4

2 回答 2

1

这是由于浏览器限制。此外,如果您尝试从 AS3 访问 S3,那么您可能会觉得AS3 API非常有用,尽管这也遇到了浏览器限制:

这是一个用于访问 Amazon 的 S3 服务的 AS3 库。由于浏览器播放器的限制,它仅适用于 Apollo。

于 2009-05-28T18:24:05.363 回答
1

在您的故障排除过程中,您是否启用了 Flash Player 的策略文件日志记录功能?您可以获得沙盒违规错误背后的更多具体信息。阅读以下内容以了解如何设置策略文件日志记录:Flash Player 9 和 Flash Player 10 中的策略文件更改

就个人而言,我怀疑您至少应该能够使您的第三个选项起作用,因为您可以在https://www.myowndomain.com/crossdomain.xml的根位置托管 crossdomain.xml - - 但让我们看看您的 crossdomain.xml 中有什么。我建议您在此处发布一份副本,必要时进行消毒。而且,告诉我们,您要在播放器中加载什么样的文件?

于 2009-05-28T22:18:40.117 回答