当前位置: 首页 > 知识库问答 >
问题:

socket.io+node.js跨源请求被阻止

上官英哲
2023-03-14
var express = require('express'),
    app = express(), 
    server = require('http').createServer(app),
    io = require('socket.io').listen(server),
    path = require('path');
server.listen(3000);

app.get('/', function(req, res) {
    res.sendfile(__dirname + '/public/index.html');
});
var socket = io.connect('//waleedahmad.kd.io:3000/');
<script type="text/javascript" src="//waleedahmad.kd.io:3000/socket.io/socket.io.js"></script>

我也在应用程序根目录中使用。htaccess文件。(waleedahmad.kd.io/node)。

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

共有1个答案

郑景胜
2023-03-14

注意:不要使用“Socketio”包装...改用“socket.io”。“Socketio”已经过时了。有些用户似乎使用了错误的软件包。

socket.io v3

文档:https://socket.io/docs/v3/handling-cors/

cors选项:https://www.npmjs.com/package/cors

const io = require('socket.io')(server, {
  cors: {
    origin: '*',
  }
});

socket.io

const io = require('socket.io')(server, { origins: '*:*'});

io.set('origins', '*:*');

io.origins('*:*') // for latest version
 类似资料:
  • 问题内容: 因此,我有了这个Go http处理程序,该处理程序将一些POST内容存储到数据存储中,并检索其他一些信息作为响应。在后端,我使用: 在我的firefox OS应用程序中,我使用: 传入的部分都一直如此。但是,我的回复被阻止了。给我以下信息: 我尝试了许多其他操作,但是无法从服务器获得响应。但是,当我将Go POST方法更改为GET并通过浏览器访问该页面时,我得到的数据太糟糕了。我无法真

  • 如何通过 ajax 从远程 url 获取内容? jQuery ajax请求被阻止,因为跨源 控制台日志 跨来源请求被阻止:同一来源策略不允许读取http://www.dailymotion.com/embed/video/x28j5hv.的远程资源(原因:CORS标头“Access-Control-Allow-Origin”缺失)。 已阻止跨源请求:同源策略不允许读取位于的远程资源http://w

  • 我完全被难住了。我对AngularJS非常陌生,我正试图对我的泽西服务器api进行rest调用,但我运气不好。它使用curl或高级Rest客户端(Chrome浏览器加载项)工作。然而,当我试图使用我的angularjs应用程序打我的Rest时,我重复了以下内容… 这是我的CORS过滤器... } 注册我的CORS筛选器的应用程序类

  • 因此,当我试图使用React将数据发送到后端时,我遇到了这个错误。据我所知,我需要允许在后端和文件中进行通信。以下是我使用的一些链接: 无“访问控制允许源”-节点/Apache端口问题 访问控制允许起源头是如何工作的? 他们两个都有代码,但都没用。 到目前为止,我的服务器端代码如下: 这是我的客户端代码: 那么我错过了什么?我没有文件,但我都是在本地完成的,所以我不确定是否可以使用它。 在我看来,

  • 问题内容: 如何通过Ajax从远程URL获取内容? jQuery ajax请求被阻止,因为跨域 控制台日志 跨域请求被阻止:“相同源策略”不允许读取http://www.dailymotion.com/embed/video/x28j5hv上的远程资源。(原因:CORS标头“ Access-Control-Allow-Origin”缺失)。 跨域请求被阻止:“相同源策略”不允许读取http://w

  • 当我试图从返回JSON的Symfony API获取Angular数据时,我目前面临一个错误: “阻止跨源请求:同一源策略不允许读取位于的远程资源。”http://localhost:8000/customers. (原因:缺少CORS标头“访问控制允许原点”。) 以下是完整结果的截图: 我知道这个问题已经被问了很多次,但我找不到一个有效的答案。 当我不尝试在api控制器中检索$session时,它