0

我正在使用 Licode 创建一个应用程序,这是一个视频会议应用程序,我通过 XMLHttpRequest 调用创建了一个房间,但无法使用 XMLHttpRequest 建立连接,出现以下错误。

XMLHttpRequest 无法加载http://domain.com:8080/socket.io/1/?t=1416289828054。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ 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();
    }
});

在此先感谢您的帮助。

4

1 回答 1

2

好像我有类似的问题(一切正常,我将它部署在服务器上)。首先检查所有防火墙并从您的计算机访问套接字端口。就我而言,问题出在 F5 上,请参见此处

笔记:

因为 F5 将默认协议识别为 http,所以我们需要禁用 http 协议,比如 HTTP_REQUEST { if { ([HTTP::uri] starts_with "/socket.io") } { HTTP::disable } }

希望,我帮助了你;)

于 2014-11-18T08:47:44.613 回答