我正在尝试打开我的服务器的套接字,但它不起作用,我总是得到着名的
Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: http://zappy.mydomain.fr/ZappyGraphic.swf cannot load data from zappy.mydomain.fr:4242.
我的域名根目录crossdomain.xml
,看起来像这样:
<?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="*" secure="false" />
<site-control permitted-cross-domain-policies="master-only"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
在我的actionscript程序中,以下是我加载跨域策略的方法
Security.allowDomain("*");
Security.allowInsecureDomain("*");
Security.loadPolicyFile("http://mydomain.fr/crossdomain.xml");
服务器位于端口4242上的mydomain.fr,swf
文件位于http://zappy.mydomain.fr/index.html
...
有人可以启发我吗?
答案 0 :(得分:1)
似乎你不能在行尾有空格,所以:
<allow-access-from domain="*" secure="false" />
必须
<allow-acces-from domain="*" secure="false"/>
感谢让我浪费时间! :d
而且,正如@Gio让我注意到的那样,你必须配置一个侦听端口843的套接字策略服务器。如果有人需要,这是我的nginx
配置:
server {
listen 843;
server_name mydomain.fr;
location / {
rewrite ^(.*)$ /crossdomain.xml;
}
error_page 400 /crossdomain.xml;
location = /crossdomain.xml {
root /usr/share/nginx/www/root;
}
}