gpt4 book ai didi

apache-flex - Flex - crossdomain.xml 请求尝试在 http 端口上使用 https 并超时

转载 作者:行者123 更新时间:2023-11-28 22:31:06 24 4
gpt4 key购买 nike

我的 Flex 应用程序托管在 http://<ip>:8080/MyApp/Login.html , 当我去那里时有一个请求 http://<ip>:8080/crossdomain.xml已创建,以及对 https://<ip>:8080/crossdomain.xml 的请求.当我尝试对同一服务器使用远程 Java 对象调用并从中获取 Assets 时,就会发生这种情况。我没有在端口 8080 上托管 https,因此此 https 调用将失败。

问题是 https 调用有时需要很长时间才能失败(它会因 tomcat 连接器中的 connectionTimeout 长度而失败)。其他时候它很快就会失败。然而,在它确实需要很长时间才能失败的时候,页面没有完成加载,因为我正在等待这些 Assets 和远程对象调用数据。

我已经尝试设置强制检索 crossdomain.xml,其中包含以下内容:

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>

使用 AS3 代码:

Security.loadPolicyFile(browserUrl+"/assets/crossdomain.xml");

在应用程序的 initialize 中被调用事件。根据 chrome 和 wireshark 正确调用和检索上面的强制 crossdomain.xml 文件,但仍在尝试服务器根目录的默认位置,并且 https 尝试仍然超时。在尝试超时之前,应用程序不会完成加载。

最佳答案

所以我想我确定了这个问题是什么。我在 channel 列表中首先使用了一个安全 channel ,因为它是不同的域(http 而不是 channel 所在的 https),它会执行 crossdomain.xml 查找。

我重新排序了 channel 以首先使用常规的 http channel ,并且我的应用程序不再执行任何跨域查找,除了强制查找(我已将其删除)。

由于第一个 channel 是通过 https 进行的,因此 Flex 在退回到不安全的 channel 之前等待该查找。

我还认为,如果实际使用 https,这应该会继续起作用,因为我相信对安全连接器的纯文本请求将被立即拒绝,而不是超时。

关于apache-flex - Flex - crossdomain.xml 请求尝试在 http 端口上使用 https 并超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17955579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com