Socket.io请求的资源上不存在“ Access-Control-Allow-Origin”标头

时间:2019-12-13 08:49:25

标签: sockets socket.io cors

我知道,关于此问题有很多线程,但是它不起作用。

我正在尝试从本地主机连接到生产网络。使用网络套接字。

客户: this.socket = io(config.socket) //“ wss://test.com/”,

服务器:

var server = require("http").createServer(app)
var io = require("socket.io")(server)
app.use(cors({
    origin: ['http://localhost:8081'],
    methods: ['GET', 'POST'],
    allowedHeaders: ['Content-Type', 'Authorization', 'Access-Control-Allow-Credentials'],
    credentials: true,
}))
io.set('origins', '*:*'); // <---- allow all !!

我得到一个错误:

Access to XMLHttpRequest at 'https://test.com/socket.io/?EIO=3&transport=polling&t=Mx-S634' from origin 'http://localhost:8081' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我不明白为什么。有趣的是,它正在生产中(客户端可以使用服务器Websocket-它们在同一域上运行)。

请不要将其标记为重复项,而不是。

服务器版本: “ socket.io”:“ ^ 2.3.0”,

客户端版本: “ socket.io-client”:“ ^ 2.3.0”,

怎么了?

0 个答案:

没有答案