やあ、
Socket.IOノードの新しいバージョンで複数のオリジンをサポートできるので、オリジンの配列またはオリジンのコンマ区切りリストのいずれかを指定できますか?
ありがとう。
これについての評決は何でしたか?
私も同じ問題を抱えています。 ドキュメントにはそれについて何もありませんが、socket.ioですでに利用可能です。
スペースバー付きのリストである必要があります。
例:
io.set( 'origins'、 'http://domain.com:* http://domain.org:* http://domain.net:* http://domain.gov:*');
それら:*は重要です。 それがないと、機能しません。
:*はポートを指定するためのものであり、はい、それなしでは機能しません。
@ Gut6参考までに、サンプルコードはセキュリティの問題を引き起こします。
io.set('origins', 'http://domain.com:* http://domain.org:* http://domain.net:* http://domain.gov:*');
ここで処理されます
https://github.com/socketio/socket.io/blob/e0b2cb0c5a9af768a48c43f65643412cc8edc7df/lib/index.js#L87
したがって、 omain.com
、 main.com
、 ain.com
が渡されます。
次のように、文字列の代わりに配列を使用する必要があります。
io.set('origins', ['domain.com:*', 'domain.org:*', 'domain.net:*', 'domain.gov:*']);
最も参考になるコメント
私も同じ問題を抱えています。 ドキュメントにはそれについて何もありませんが、socket.ioですでに利用可能です。
スペースバー付きのリストである必要があります。
例:
io.set( 'origins'、 'http://domain.com:* http://domain.org:* http://domain.net:* http://domain.gov:*');
それら:*は重要です。 それがないと、機能しません。