Ошибка песочницы безопасности Socket.IO flashsocket

Последние несколько дней я играл с node.js и socket.io. Все отлично работает на моей локальной машине (Windows использует IS для веб-сервера), но при загрузке его на мой удаленный сервер (Ubuntu Box), я получаю ошибки безопасности.

[trace] Warning: Failed to load policy file from http://localhost:8000/crossdomain.xml
[trace] *** Security Sandbox Violation ***
[trace] Connection to http://localhost:8000/socket.io/1/ halted - not permitted from http://****/virtualcinema/VirtualCinema.swf
[trace] Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: http://****/virtualcinema/VirtualCinema.swf cannot load data from http://localhost:8000/socket.io/1/.

Код AS3, на котором он ошибается:

Security.loadPolicyFile("xmlsocket://localhost:10843");
socket = new FlashSocket("localhost:8000");

Файл политики обслуживается правильно на порту 10843, и я могу получить файл политики в порядке в http: //**: 10843 / в моем браузере. Почему он пытается загрузить файл политики на порт 8000. Это предупреждение не появляется в моей локальной сборке.

Код socket.io:

socket = io.listen(8000);

socket.configure(function() 
{
    socket.set("transports", ["flashsocket"]);
    socket.set("log level", 2);

});

Я запутался в том, почему это решается нормально, когда я тестирую его на локальной машине, а не на удаленной. Любая помощь приветствуется:)

Crossdomain.xml я использую:

<cross-domain-policy>
    <allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>

1 ответ

Исправлена. Я изменил его, указав на localhost для моих серверов externalIP.

Я пробовал это раньше, но, к сожалению, сервер кэшировал мой SWF-файл, и я не понял, что это было исправлено.

Security.loadPolicyFile("xmlsocket://****.com:10843");
socket = new FlashSocket("****.com:8000");
Другие вопросы по тегам