所以我使用hapi js和socket.io
设置服务器var hapi = require('hapi');
var server = new hapi.Server();
server.connection({
host : 'localhost',
port: 3000,
routes: {cors: true}
});
var io = require("socket.io")(server.listener);
在客户端
var io = socket.connect(':3000');
当我从localhost访问时一切正常,但是当我从外部IP访问时出现CORS错误并且无法使其正常工作,在服务器上我已尝试io.set( "origins", "*:*" );
没有& #39;工作,io.set('transports', ['websocket', 'xhr-polling', 'jsonp-polling', 'htmlfile', 'flashsocket']);
也没有工作,并在浏览器上抛出错误的请求错误。
我错过了什么吗?
非常感谢你的时间。
答案 0 :(得分:6)
您可以尝试明确设置原点而不是使用" *&#34 ;?你可能不想使用" *"无论如何,在生产中。
尝试使用:
server.connection({
host : 'localhost',
port: 3000,
routes: {
cors: {
origin: ['your_origin_here']
}
}
});
有时也会有一个OPTIONS预检请求来检查原点,也可以分享它以确保正确设置CORS?
答案 1 :(得分:0)
所以问题是将主机设置为localhost,而我使用0.0.0.0解释here