我正在尝试从trial.domain.com
连接到server.domain.com上的websocket Firefox中的NS_ERROR_DOM_SECURITY_ERR:
"[Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "https://trial.domain.com/home Line: 454"]"
当我尝试建立WebSocket连接时:
try {
if (window['MozWebSocket'] !== undefined) {
socket = new MozWebSocket('ws://server.domain.com/chat');
} else {
socket = new WebSocket('ws://server.domain.com/chat');
}
trails = 0;
} catch(err){
trials++;
}
答案 0 :(得分:4)
这种情况发生在应用安全策略的浏览器上,该安全策略阻止使用对页面自托管的外部域的任何访问权。
当您尝试从SSL区域到非SSL和另一个域(不知道相同的域是否可以解决问题)的重要连接时,会出现这种情况 - 这是您的情况。但是有更多可能的情况。
这是与浏览器相关的错误,是浏览器抛出此错误,并且连接没有问题。
您必须在与http服务器相同的域下托管WebSockets服务器。如果那是不可能的,那么你可以采取几种方式: