我有一台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>
答案 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"/>