即使放在swf文件所在的根文件夹中,Crosspolicydomain.xml也不起作用

时间:2014-08-26 20:22:48

标签: xml flex flex4 flex4.6

我有一台IP 192.168.20.41的远程服务器,启动并运行了tomcat服务器。 访问tomcat的IP是192.168.20.41:9091

我在本地计算机上生成了SWF文件。

相关的xml文件(data.xml)放在tomcats / webapp / Idea / data.xml文件夹中的远程服务器中,并使用以下路径提取:

<mx:HTTPService id="srv" url="http://192.168.20.41:9091/Idea/data.xml"/>

我能够在本地计算机上看到swf文件的数据,但无法从同一网络上的任何其他计算机上看到。我已将crosspolicydomain.xml放在swf文件所在的webapps文件夹中,但我仍然无法在swf文件中看到任何数据。请帮忙!!

以下是crosspolicydomain.xml内容:

<?xml version="1.0"?> 
<!-- http://www.foo.com/crossdomain.xml --> 
<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="by-content-type"/> 
    <allow-access-from domain="http:support.intense.in:9091/Idea/"/> 
    <allow-access-from domain="http:support.intense.in"/> 
    <allow-access-from domain="http:support.intense.in:9091/Idea/data.xml"/> 
    <allow-access-from domain="192.168.20.41"/> 
    <allow-access-from domain="http://192.168.20.41:9091/Idea/data.xml"/> 
    <allow-access-from domain="http://192.168.20.41:9091/Idea/"/> 
    <allow-access-from domain="http://192.168.20.41:9091/Idea/"/> 
    <allow-access-from domain="http://192.168.20.41:9091"/>
    <allow-access-from domain="http://support.intense.in:9091/Idea/data.xml"/>
    <allow-access-from domain="http://support.intense.in:9091/Idea/"/>
    <allow-access-from domain="http://support.intense.in:9091/"/>
    <allow-access-from domain="http://support.intense.in:9091"/>
    <allow-access-from domain="*" />
    <site-control permitted-cross-domain-policies="all"/>
</cross-domain-policy>

2 个答案:

答案 0 :(得分:0)

尝试从crossdomain.xml文件中的域属性中删除http://部分:

<?xml version="1.0"?> 
<cross-domain-policy> 
    <allow-access-from domain="support.intense.in:9091" to-ports="*" /> 
    <allow-access-from domain="support.intense.in" to-ports="*" /> 
</cross-domain-policy>

此外,您可以使用my Apache module来提供套接字策略(并且还有a perl script可用 - 用于快速和脏的设置。它仍然比许多类似的脚本更好 - 因为你不能DOS它通过限制一个连接。)

答案 1 :(得分:0)

在不熟悉整个项目的情况下很难知道crossdomain.xml有什么问题,但尝试添加此行可能会有所帮助     <allow-http-request-headers-from domain="*" headers="*"/>

另外,有时候secure =“false”会有所帮助,也可以尝试这样做:     <allow-access-from domain="*" secure="false"/>