の新しいバージョンsocket.io
(現在まで4.x.x
) では、サーバー オプションの一部として CORS オリジンを設定する必要があります。
CORS は独自のモジュールに分割されました。詳細については、readmeを参照してください。
デフォルトの構成は次のとおりです。
{
"origin": "*",
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
"preflightContinue": false,
"optionsSuccessStatus": 204
}
サブドメインの使用を 1 つのサイトに制限する。
cors: {
origin: [/\.example\.com$/],
methods: ["GET", "POST"]
}
これは、express や生の socket.io エンジン以外のものを使用せずに見に来る人のための、非常に単純で基本的な構成ブロックです。編集: のバージョン 3 用に更新されましたsocket.io
。
// Options for socket.io => 3.0.0
var options = {
allowUpgrades: true,
transports: [ 'polling', 'websocket' ],
pingTimeout: 9000,
pingInterval: 3000,
cookie: 'mycookie',
httpCompression: true,
cors: '*:*' <---- Allow any origin here [NOTE THE NAME CHANGE]
};
古いバージョンの使用;
// Options for socket.io > 1.0.0
var options = {
allowUpgrades: true,
transports: [ 'polling', 'websocket' ],
pingTimeout: 9000,
pingInterval: 3000,
cookie: 'mycookie',
httpCompression: true,
origins: '*:*' <---- Allow any origin here
};
io = require('socket.io')(8010, options);