我有一些,比方说,奇怪的情况……事情是这样的:
在一台服务器上录制音频并将其上传到另一台服务器的 Flash 应用程序。 因此,正如您可能猜到的那样,我遇到了违反安全沙箱的异常/错误,看来我必须将 crossdomain.xml 添加到服务器的根目录中。好的,做到了,但似乎没有下载或下载过程中断,所以我不断收到此错误。
有人可以指出我的错误吗?我真的不明白我做错了什么。
这是我在尝试上传音频时遇到的错误:
Error #2044: Unhandled securityError:. text=Error #2170: Security sandbox
violation: https://ip1/bar/foo cannot send HTTP headers to https://ip2/foo/bar
这是我的 crossdomain.xml(测试版)的内容:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*" />
<allow-http-request-headers-from domain="*" headers="*" />
</cross-domain-policy>
附注而且,是的,可以通过 https://ip2/crossdomain.xml
地址访问 crossdomain.xml。
附加信息
我启用了 flash 日志并且很惊讶地知道 flash 无法获取 crossdomain.xml,尽管它可以通过浏览器访问(带有一个子句,它是 https 并且它声明存在证书问题,或类似的东西).
Warning: Failed to load policy file from https://192.168.22.103/crossdomain.xml
附加信息第 2 部分
如果我尝试手动访问 crossdomain.xml,这是我在浏览器中收到的警告:
这里是下载 crossdomain.xml 的请求以 http status code = 0
结束:
最佳答案
终于找到问题所在了。当我为 Internet Explorer 开发这个应用程序时,有一些棘手的事情让它工作。正如您在这张图片中看到的:有“此网站提供的安全证书是为其他网站地址颁发的”警告。问题是 Internet Explorer 总是在默认情况下向用户发出警告,这是阻止 Flash Player 下载 Flash 策略文件 (crossdomain.xml) 的问题。要覆盖此行为,您只需要:
- 转到 Internet Explorer 设置:点击齿轮图标 -> Internet 选项
- 转到高级标签
- 向下滚动到设置列表的末尾,取消选中“警告证书地址不匹配”。
- 重要提示:终止所有 IE 实例(如果有,请检查任务管理器)。
- 完成这些步骤后,Flash 应该不会在获取 crossdomain.xml 时出现问题。
真心希望这能帮助其他 flex 开发人员避免此类问题。干杯!
关于actionscript-3 - 闪光灯:crossdomain.xml 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18536255/