首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >socket.io原点集但无论如何都会出现错误

问socket.io原点集但无论如何都会出现错误
EN

Stack Overflow用户
提问于 2022-07-16 20:13:22
回答 2查看 967关注 0票数 2

我正在为一个学校项目制作一个网站,在那里有一个实时更新表,其中包含有多少轮球员运行的数据。差不多完成了,但我有一个错误,我解决不了:

代码语言:javascript
复制
ccess to XMLHttpRequest at 'https://creeperhd.de:8443/socket.io/?EIO=4&transport=polling&t=O88eQ0_' from origin 'https://creeperhd.de' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

为了防止此错误,我已经在服务器代码中使用了以下内容:

代码语言:javascript
复制
const io = require('socket.io')(http,{cors:{origin:"*"}});

但无论如何我都会犯同样的错误。

有人能告诉我能做什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-03 17:46:21

我找到了解决方案:我忘记告诉服务器使用ssl证书:/ 怎么做?

票数 0
EN

Stack Overflow用户

发布于 2022-07-16 20:47:31

您需要做两件事之一,要么启用CORS支持,要么绕过CORS限制。

选项1:将客户端更改为跳过socket.io http轮询,方法是更改客户端连接代码以添加如下选项:

代码语言:javascript
复制
const socket = io("https://example.com", {
  transports: ["websocket"] // use webSocket only
});

最初的socket.io http轮询是基于CORs限制的。如果跳过这一步,直接转到webSocket连接,那么webSocket连接就不会受到CORs的限制,因此不会遇到CORs访问问题。

选项2:将CORS包安装在您的http服务器上,并对其进行适当配置,以启用对socket.io端点的CORS访问。CORs页面是这里。启用CORS访问的socket.io文档是这里。

为cors显示的socket.io选项取决于正在您的web服务器上安装的CORS包。因此,您必须同时使用这两种方法,或者实现您自己的自定义CORs处理,以便完全启用CORs访问。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73007362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档