Socket.io: CORS-Fehler in der neuesten Version

Erstellt am 9. Nov. 2020  ·  7Kommentare  ·  Quelle: socketio/socket.io

Die ältere Version von socket.io funktioniert einwandfrei, aber die neueste Version zeigt einen CORS-Fehler, wenn versucht wird, eine Verbindung von vorne nach hinten herzustellen. Ich habe dem Server auch CORS-Middleware hinzugefügt, aber es funktioniert nicht. Aber wenn ich zurück zur älteren Version von Socket wechsle, funktioniert es einfach gut.

image

question

Hilfreichster Kommentar

Hallo! Entschuldigung, die Dokumentation wird gerade für Version 3 aktualisiert.

Ich habe hier einen Abschnitt über CORS hinzugefügt: https://socket.io/docs/v3/handling-cors/

Könnten Sie bitte überprüfen, ob das klar genug ist?

Alle 7 Kommentare

Hallo, ich glaube, das liegt daran, dass die Dokumentation nicht die Änderung widerspiegelt, die mit Version 3.0 vorgenommen wurde.
Bitte beachten Sie diesen Link https://socket.io/docs/migrating-from-2-x-to-3-0/ , Abschnitt CORS-Behandlung.

Ich werde nicht lügen, es ist eine Art Mist. Begann erst heute mit socket.io zu spielen und sofort gibt es Straßensperren. Ich würde auf 2.x downgraden, aber es scheint, dass die Dokumentation keine Versionierung hat.

Hallo! Entschuldigung, die Dokumentation wird gerade für Version 3 aktualisiert.

Ich habe hier einen Abschnitt über CORS hinzugefügt: https://socket.io/docs/v3/handling-cors/

Könnten Sie bitte überprüfen, ob das klar genug ist?

@ Darrachequesne danke, es ist gelöst!

Dies kann zu Problemen bei Personen mit glitch.me-Projekten führen. Beim Upgrade auf v3 antworten die glitch.me-Projekte mit dem Fehler saifulshihab. Es scheint jedoch, dass CORS gegen glitch.me und die AGB von AWS ist und ein Projekt entfernt wird. Gibt es eine Möglichkeit, das v3-Framework ohne CORS auszuführen?

Ich verstehe nicht ganz, was CORS ist und warum es ein Problem ist. Ich versuche nur, einen Plan zusammenzustellen.

Hallo @quindo - wollte nur klarstellen, dass das Aktivieren von CORS nicht gegen die , was gegen unsere Nutzungsbedingungen verstößt.

für diejenigen, die vor dem Problem stehen: -

// 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"
  }
});

Ich denke, das kann jetzt geschlossen werden. Bitte öffnen Sie es bei Bedarf erneut.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen