Vodplay CORS error terjadi ketika browser memblokir permintaan pemutar video (pemutar Vodplay) untuk mengambil sumber daya media dari domain, server, atau port yang berbeda dengan domain utama situs web Anda. Masalah ini berakar dari kebijakan keamanan Cross-Origin Resource Sharing (CORS) yang diterapkan oleh peramban modern untuk mencegah akses lintas domain yang tidak sah.
Untuk mengatasi masalah ini secara permanen, perbaikan harus dilakukan pada tingkat konfigurasi peladen (server) tempat file video atau manifes Vodplay disimpan, bukan sekadar mengubah kode klien. Penanganan yang salah sering kali membuat video gagal dimuat dan menampilkan pesan galat pada konsol pengembang (Developer Console).
Tabel Analisis Penyebab dan Solusi Vodplay CORS Error
| Penyebab Utama | Lokasi Masalah | Solusi Teknis |
|---|---|---|
Header Access-Control-Allow-Origin tidak ada |
Server Backend / CDN | Menambahkan header izin domain pada konfigurasi web server. |
| Permintaan menggunakan kredensial tanpa header yang sesuai | Konfigurasi Vodplay (Frontend) & Server | Menyelaraskan atribut withCredentials dengan header Access-Control-Allow-Credentials: true. |
| Pemblokiran metode HTTP OPTIONS (Preflight Request) | Pengaturan Firewall / Routing Server | Mengizinkan respons HTTP 200/240 untuk metode OPTIONS pada server. |
Langkah Perbaikan Teknis pada Server
Agar pemutar Vodplay dapat mengakses sumber daya lintas domain tanpa hambatan CORS, server yang melayani file video harus dikonfigurasi untuk menyertakan header HTTP yang tepat. Berikut adalah konfigurasi yang diperlukan berdasarkan jenis peladen yang Anda gunakan.
1. Konfigurasi Nginx
Jika server Anda menggunakan Nginx, tambahkan blok kode berikut di dalam file konfigurasi server (misalnya pada blok location untuk file media):
location ~* \.(mp4|m3u8|ts|key)$ {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Range';
if ($request_method = 'OPTIONS') {
return 204;
}
}
2. Konfigurasi Apache
Untuk peladen Apache, tambahkan baris berikut ke dalam file .htaccess atau konfigurasi virtual host utama Anda:
<FilesMatch "\.(mp4|m3u8|ts|key)$">
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, OPTIONS"
Header set Access-Control-Allow-Headers "Range"
</FilesMatch>
3. Konfigurasi CORS pada Node.js (Express)
Jika backend Anda menggunakan Express.js untuk menyajikan endpoint video atau API terkait Vodplay, gunakan middleware cors resmi:
const express = require('express');
const cors = require('cors');
const app = express();
// Mengizinkan semua domain untuk mengakses endpoint pemutar
app.use(cors());
app.get('/video-stream', (req, res) => {
// Logika stream video Vodplay
});
app.listen(3000);
Pengujian dan Validasi Lapangan
Setelah menerapkan konfigurasi di atas pada peladen, lakukan langkah-langkah verifikasi berikut untuk memastikan galat telah sepenuhnya teratasi:
- Buka halaman web yang memuat Vodplay di peramban (Chrome, Firefox, atau Edge).
- Tekan tombol
F12atau klik kanan lalu pilih Inspect, kemudian arahkan ke tab Console dan Network. - Muat ulang halaman (Refresh) dan pastikan tidak ada lagi teks berwarna merah yang menyebutkan "CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource".
- Periksa pada tab Network bahwa permintaan file video (.mp4 atau .m3u8) mengembalikan status
200 OKatau206 Partial Content.
Tips Keamanan Tambahan
Menggunakan tanda bintang (* pada Access-Control-Allow-Origin) memang merupakan cara paling mudah untuk menghilangkan CORS error, namun hal ini membuka akses bagi domain luar mana pun untuk mengambil sumber daya video Anda. Untuk lingkungan produksi (production), disarankan mengganti tanda bintang dengan domain spesifik Anda, contohnya:
add_header 'Access-Control-Allow-Origin' 'https://namadomainanda.com';