2013-04-01 95 views
0

過去幾天我一直在使用node.js和socket.io。一切工作正常我的本地機器(窗口使用ISE的Web服務器),但是當它上傳到我的遠程服務器(Ubuntu的盒子),我得到安全錯誤。Socket.IO flashsocket安全沙箱錯誤

[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); 

}); 

我很困惑,爲什麼當我測試它在LOCALMACHINE但不能在遠程一個得到解決的罰款。任何幫助,將不勝感激:)

crossdomain.xml文件我使用:

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

的問題是,而不是從加載的XMLSocket策略文件://本地主機:10843,它加載它從http://本地主機:「歡迎來到socket.io」 8000/crossdomain.xml的返回因爲這是我的服務器運行的端口。 – synergies

+0

快速的問題是,你使用庫來從as3與你的socket.io服務器交談,還是你使用As3的socket/xmlsockets? – funseiki

回答

1

固定。我從指向本地主機到我的服務器externalIP。

我曾嘗試過,但不幸的是服務器已經緩存了我的SWF文件,我沒有意識到它已被修復。

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