flex app中crossdomain.xml的错误协议

时间:2010-10-20 08:56:16

标签: flex https crossdomain.xml

我已将我的flex应用程序的协议从https更改为http,而flashplayer仍然希望使用https下载crossdomain.xml,但使用http端口。 该应用程序在http://domain01:8080/flex访问,它想要获取https:.. samedomain ..:8080 / crossdomain.xml(在https:.. samedomain..no_port / flex它工作正常)。

任何人都知道为什么?

非常感谢,

丹尼尔

3 个答案:

答案 0 :(得分:0)

没有直接回答,因为我没有尝试过这种指定非默认端口的方案,但有几条信息可能会引导您回答:

http://learn.adobe.com/wiki/download/attachments/64389123/CrossDomain_PolicyFile_Specification.pdf?version=1

这可能是有意义的:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
   <allow-access-from domain="*.example.com" to-ports="507,516-523"/>
</cross-domain-policy>

或者这个:

非套接字策略文件的10,0,12,0个站点控制的允许跨域策略默认值是“仅限主”

也许尝试使用较旧版本的Flash Player来查看9-> 10更改中的某些内容是否会导致问题,然后在更改日志中查找更改可能会更容易,或者可能是新版本中的错误。< / p> 祝你好运 肖恩

答案 1 :(得分:0)

当你改变端口并使用Https时,Flex(Atleast 3.5 AFAIK ..)得到一些识别危机...安全模型取决于端口..我不知道问题的确切原因,但我的解决方案是明确地在您的应用中加载crossdomain文件..

System.security.loadPolicyFile(的 'https:// MYDOMAIN:端口/的crossdomain.xml');

答案 2 :(得分:0)

当遇到跨域问题时,值得记住的是,通过使用Security类,您始终可以明确控制加载的crossdomain.xml文件(事实上,策略文件可以包含您想要的任何名称)。在处理更复杂的实际案例时(例如,使用负载平衡或反向代理),从服务器根目录加载策略文件的默认行为通常过于严格。

尝试使用:

Security.loadPolicyFile(<URI to the policy file goes here>);

ASDocs是here并且很好地解释了它。

通过控制政策的加载方式,您可以获得更多自由从可能带来痛苦,令人沮丧的体验中汲取大量猜测。 Flash Player允许您加载多个策略文件,如果您需要与多个服务层集成(例如,在一台主机上通过HTTPS而另一台主机通过HTTP),则可以使用它。

祝你好运,

泰勒