2009-05-28 87 views
2

我正尝试使用带有ActionScript3的SSL访问Amazon S3存储桶中的文件。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/

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

回答

1

这是由于浏览器的限制。另外,如果你想从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.

1

在您的故障排除,并启用了Flash Player的策略文件记录功能?您可以在沙箱违规错误后面获得更具体的信息。阅读以下内容以了解如何设置策略文件日志记录:Policy file changes in Flash Player 9 and Flash Player 10

就我个人而言,我怀疑你应该能够获得第三个选项,至少可以在第三个选项上工作,因为你可以在https://www.myowndomain.com/crossdomain.xml的根目录位置 - 但让我们来看看你在crossdomain.xml中有什么。我建议你在这里发布一个副本,必要时进行消毒。并且告诉我们,您想要在播放器中加载什么样的文件?

+0

这些文件是自定义的二进制文件。我将crossdomain文件添加到问题中。 – peacewise 2009-06-03 21:41:22