мое приложение недавно получило сообщение об ошибке
"Доступ к XMLHttpRequest по адресу https://my-service-domain/socket.io/?EIO=3&transport=polling&t=M-eWtUQ из источника" https://my-app-domain 'был заблокирован политикой CORS: на запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». "
при подключении к socket.io. Я еще не нашел решения этой проблемы, я опишу подробно как изображение ниже, кто-нибудь когда-либо сталкивался с этой ошибкой.
Сервер config:
var express = require('express');
var app = express();
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Headers", "Content-Type");
res.header("Access-Control-Allow-Methods", "PUT, GET, POST, DELETE, OPTIONS");
next();
});
var http = require('http');
var server = http.createServer(app);
var io = require('socket.io').listen(server, {log:false, origins:'*:*'});
Client config:
var socket = io('https://my-service-domain', {transports: ['polling']});
socket.on(channel_id, function(data){
// some code
});
Я попытался переключить опцию подключения через веб-сокет var socket = io('https://my-service-domain', {transports: ['websocket']})
, я получил ошибку
"WebSocket не удалось подключиться к «wss: //my-service-domain/socket.io/? EIO = 3 & transport = websocket»: ошибка во время рукопожатия WebSocket: непредвиденный код ответа: 400 "