我在flash#2048中遇到错误。我能找到的一切都指出这是一个安全预防措施,因为文件不在同一个域中。
我们在Rackspace云服务器上运行了一个站点,现在正在尝试使用CDN来加速我们在我们网站上使用的产品轮换工具。您可以使用我们服务器上的文件以及我的演示来查看当前的工作工具,我在其中切换链接以反映云文件而不是本地文件。 (编辑:我已经删除了演示网站的链接,因为它们不再相关。)
我发现的解决方案似乎是根据this stackoverflow question添加了几行代码。
从上面的Stackoverflow问题的答案我实现了以下代码:
allowscriptaccess = "always"
allownetworking = "all"
如我们的模板文件中所述。我担心的是所列修复的第一部分。
<site-control permitted-cross-domain-policies="all"/>
我认为它存在于crossdomain.xml文件中。我创建了这个文件并将其放在根文件夹中,并使用了this documentation page中的代码。我使用了以下代码。
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*" secure="false" />
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
在完成所有这些之后,我仍然会收到错误#2048。非常感谢您提供的任何帮助,谢谢!
答案 0 :(得分:3)
Thomas,您在哪个服务器上放了crossdomain.xml?
crossdomain.xml文件属于提供数据的服务器。因此,如果您的Flash应用程序在您的服务器上运行,并且它尝试从其他域下载数据......其他域需要提供crossdomain.xml文件。
根据您在链接到的其他StackOverflow问题中的评论,听起来就像是将crossdomain.xml放在您自己的服务器上。通过这样做,您可以说在其他网站上托管的Flash应用程序可以从您的网站获取数据。相反,您需要在CDN站点上放置一个crossdomain.xml文件,该文件授权其他域(例如您自己的)中的Flash应用程序访问CDN上的数据。