Socket.io: 最新リリースのCORSエラー

作成日 2020年11月09日  ·  7コメント  ·  ソース: socketio/socket.io

古いバージョンのsocket.ioは問題なく動作しますが、最新のリリースでは、前面から背面に接続しようとするとCORSエラーが表示されます。 CORSミドルウェアもサーバーに追加しましたが、機能していません。 しかし、古いバージョンのソケットに戻すと、うまく機能しています。

image

question

最も参考になるコメント

こんにちは! 申し訳ありませんが、ドキュメントはv3用に更新中です。

ここにCORSに関するセクションを追加しました: https

それが十分に明確であるかどうかを確認していただけますか?

全てのコメント7件

こんにちは、これはドキュメントが3.0リリースで行われた変更を反映していないためだと思います。
このリンクhttps://socket.io/docs/migrating-from-2-x-to-3-0/のセクションCORS処理を参照してください。

うそをつくつもりはありません、それは一種の残念です。 今日、socket.ioで遊び始めましたが、すぐに障害が発生します。 2.xにダウングレードしますが、ドキュメントにバージョン管理がないようです。

こんにちは! 申し訳ありませんが、ドキュメントはv3用に更新中です。

ここにCORSに関するセクションを追加しました: https

それが十分に明確であるかどうかを確認していただけますか?

@darrachequesneありがとう、それは解決されました!

これは、glitch.meプロジェクトを持つ人々に問題を引き起こす可能性があります。 をv3にアップグレードすると、glitch.meプロジェクトはsaifulshihabが投稿したエラーで応答を開始します。 ただし、CORSはglitch.meとAWSのTOSに反対しており、予測が削除されるようです。 CORSを含めずにv3フレームワークを実行する方法はありますか?

CORSとは何か、なぜそれが問題になるのか完全には理解していません。 私はただ計画をつなぎ合わせようとしています。

こんにちは@ quindo -CORSを有効にすることはGlitchのTOSに反しないことを明確にしたかっただけです。 一部のユーザーは、悪意のある理由でCORSなどの特定のnpmパッケージを使用していましたが、

問題に直面している人の

// server-side
const io = require("socket.io")(httpServer, {
  cors: {
    origin: "https://example.com",
    methods: ["GET", "POST"],
    allowedHeaders: ["my-custom-header"],
    credentials: true
  }
});

// client-side
const io = require("socket.io-client");
const socket = io("https://api.example.com", {
  withCredentials: true,
  extraHeaders: {
    "my-custom-header": "abcd"
  }
});

これで閉鎖できると思います。 必要に応じて再度開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価