Socket.io: Kesalahan CORS di rilis terbaru

Dibuat pada 9 Nov 2020  ·  7Komentar  ·  Sumber: socketio/socket.io

Versi socket.io yang lebih lama berfungsi dengan baik, tetapi rilis terbaru menunjukkan kesalahan CORS ketika mencoba menghubungkan depan ke belakang. Saya juga menambahkan middleware CORS ke server tetapi tidak berfungsi. Tetapi ketika saya beralih kembali ke versi soket yang lebih lama maka itu hanya berfungsi dengan baik.

image

question

Komentar yang paling membantu

Hai! Maaf untuk itu, dokumentasi sedang dalam proses diperbarui untuk v3.

Saya telah menambahkan bagian tentang CORS di sini: https://socket.io/docs/v3/handling-cors/

Bisakah Anda memeriksa apakah itu cukup jelas?

Semua 7 komentar

Hai, Saya yakin ini karena dokumentasi tidak mencerminkan perubahan yang dibuat dengan rilis 3.0.
Silakan lihat tautan ini https://socket.io/docs/migrating-from-2-x-to-3-0/ , bagian penanganan CORS.

Tidak akan berbohong, itu agak mengecewakan. Mulai bermain dengan socket.io hari ini dan langsung ada penghalang jalan. Saya akan menurunkan versi ke 2.x tetapi tampaknya dokumentasinya tidak memiliki versi.

Hai! Maaf untuk itu, dokumentasi sedang dalam proses diperbarui untuk v3.

Saya telah menambahkan bagian tentang CORS di sini: https://socket.io/docs/v3/handling-cors/

Bisakah Anda memeriksa apakah itu cukup jelas?

@darrachequesne terima kasih, sudah terpecahkan!

Ini dapat menyebabkan masalah bagi orang-orang dengan proyek glitch.me. Saat memutakhirkan ke v3 proyek glitch.me mulai membalas dengan kesalahan yang diposting saifulshihab. Namun tampaknya CORS bertentangan dengan glitch.me dan Persyaratan Layanan AWS dan akan menghapus proyeksi. Apakah ada cara untuk menjalankan kerangka v3 tanpa menyertakan CORS?

Saya tidak sepenuhnya mengerti apa itu CORS dan mengapa ini menjadi masalah. Saya hanya mencoba menyusun rencana.

Hai @quindo - hanya ingin mengklarifikasi bahwa mengaktifkan CORS tidak bertentangan dengan TOS Glitch. Beberapa pengguna menggunakan paket npm tertentu seperti CORS-di mana saja karena alasan jahat dan itu bertentangan dengan TOS kami.

bagi mereka yang menghadapi masalah: -

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

Saya pikir ini sekarang bisa ditutup. Harap buka kembali jika perlu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat