我正在使用Licode创建一个应用程序,这是一个视频会议应用程序,其中我通过XMLHttpRequest调用创建了一个房间,但无法使用XMLHttpRequest建立连接,发生以下错误。
XMLHttpRequest 无法加载 http://domain.com:8080/socket.io/1/?t=1416289828054。请求的资源上不存在"访问控制允许源"标头。因此,不允许访问源"http://domain.com:3001"。响应具有 HTTP 状态代码 404。
即使我在服务器上实现了以下代码,我也面临此问题
app.use(function(req, res, next) {
"use strict";
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Origin', 'http://'+req.headers.host+':8000');
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE');
res.header('Access-Control-Allow-Headers', 'origin, content-type');
if (req.method == 'OPTIONS') {
res.send(200);
} else {
next();
}
});
提前感谢您的帮助。
似乎我遇到了类似的问题(一切都很好,我将其部署在服务器上)。首先检查所有防火墙并从您的计算机访问套接字端口。就我而言,问题出在 F5 上,请参阅此处。
注意:
因为 F5 会默认协议标识为 http,所以我们需要 禁用 HTTP 协议,就像这样HTTP_REQUEST { if { ([HTTP::uri] starts_with "/socket.io") }{ HTTP::d isable } }
希望,我帮了你;)