从AmazonS3加载swf - 跨域策略

Chi*_*hin 2 apache-flex flash crossdomain.xml actionscript-3

我有一个位于domainA的flash应用程序需要加载来自Amazon S3存储桶的swf.在加载时,我收到以下错误."Error #2044: Unhandled securityError:. text="

我已经将一个跨域文件放入存储桶中并假设可以解决这个问题.我怎样才能解决这个问题?

TFD*_*TFD 9

您可以使用存储桶名称DNS访问S3.因此,它不是s3.amazon.com/bucketname/filename,而是bucketname.s3.amazon.com/filename.使用此方法,您可以将自己的跨域文件放在根路径中

<allow-access-from domain="bucketname.s3.amazonaws.com" />
Run Code Online (Sandbox Code Playgroud)

更好的方法是在DNS服务器上使用CNAME记录伪造您的跨域文件的根.例如

在DNS服务器上创建CNAME记录,将bucketname.yourdomainname.com指向bucketname.s3.amazon.com

然后将您的跨域文件放在该存储桶根目录中

<allow-access-from domain="bucketname.yourdomainname.com" />
Run Code Online (Sandbox Code Playgroud)

并将flash文件称为bucketname.yourdomainname.com/flash.swf等