Akses perkhidmatan Alibaba Cloud Video on-demand (VOD): mewujudkan pautan anti-kecurian dan main balik dalam talian yang lancar

awan 2026-05-28 阅读 13
1

Untuk projek video, perkara yang paling menyusahkan bukanlah cara menulis pemain di bahagian depan, tetapi dua masalah operasi dan penyelenggaraan yang sangat realistik:

Kos lebar jalur dan ketinggalan: Fail video sering berpuluh-puluh atau beratus-ratus megabait. Sekiranya mereka diletakkan terus di pelayan mereka sendiri, beberapa orang akan tersekat ketika menonton sistem pada masa yang sama, dan bayaran trafik rangkaian awam bulanan bahkan lebih tidak berasas.

Video dicuri, pautan panas: Beberapa rakan sebaya atau pengguna jahat secara langsung mengklik kanan untuk menyalin pautan main balik video di laman web anda dan menyiarkannya di laman web mereka sendiri untuk meminjam ayam dan telur. Bayaran lebar jalur yang anda bayar dengan bersungguh-sungguh, semuanya membuat gaun pengantin untuk orang lain.

Pada era awan asli, penyelesaian yang paling selamat adalah menjadi tuan rumah video ke Alibaba Cloud

Video Atas Permintaan (VOD,Video on Demand)

Dalam perkhidmatan.

Tutorial hari ini tidak membincangkan teori teknikal kosong, tetapi secara langsung menggunakan barang kering tulen. Bawa anda menggunakan kaedah pertempuran sebenar yang paling berasas,

Dapatkan pemutaran aliran video yang dipercepat, dan buat dua garis pertahanan mati "Referer Anti-theft Chain URL Forensik"

, Kunci sepenuhnya aset video anda.

Senibina teras: Bagaimana video berdasarkan permintaan berfungsi?

Sebelum memulakan, luangkan 10 saat untuk memahami pautan teras VOD:

Teks biasa

[Muat naik video di latar belakang] ──> [Transcoding automatik VOD] ───> [Slice storing OSS] ──> [Sebarkan ke nod tepi CDN]

[Penyemak Imbas Pengguna] <──3. Dapatkan URL keselamatan dan penyahkodan pada pemain ── [Bahagian belakang dikira sebagai URL pengesahan] <── 1. Mulakan permintaan main balik

Ringkasnya, video tidak dapat dimainkan secara langsung dari filem asalnya. VOD secara automatik akan memecahkan dan mentranskod video anda ke dalam fail aliran standard dengan definisi yang berbeza, dan kemudian mendorongnya ke seluruh negara

CDN (Rangkaian Pengedaran Kandungan)

Nod. Semasa pengguna bermain, dia secara langsung menarik cache CDN di dekatnya, yang bukan hanya cepat, tetapi juga tidak memenuhi lebar jalur pelayan anda sendiri.

Langkah 1: Konfigurasi Asas Konsol (3 minit)

Perkhidmatan yang baru dibeli adalah sehelai kertas kosong. Kita perlu memadankan nama domain dan strategi transkoding terlebih dahulu.

1. Mengikat dan mengedarkan nama domain

Video atas permintaan mesti mengikat nama domain anda sendiri (perlu diajukan) sebagai "nama domain main balik video", dan nama domain ujian lalai Alibaba Cloud tidak dapat digunakan.

Log masuk ke konsol Alibaba Cloud dan cari dan masukkan "Video on Demand VOD".

Di menu kiri, klik "Pengurusan Konfigurasi" $ \ right arrow $ "Konfigurasi Mempercepat Pengedaran" $ \ right arrow $ "Pengurusan Nama Domain".

Klik "Tambah Nama Domain", pilih "Percepatan Atas Permintaan" untuk jenis perniagaan, dan masukkan subdomain anda (seperti video.yourname.com).

Setelah penciptaan selesai, Alibaba Cloud akan memberi anda alamat CNAME. Memegang alamat ini

, Pergi ke latar belakang resolusi nama domain anda (seperti Alibaba Cloud DNS) dan tambahkan rekod CNAME. Hanya apabila analisis berlaku, pecutan CDN akan berfungsi secara rasmi.

2. Konfigurasikan templat transkoding (kunci untuk main balik yang lancar)

Video asal (seperti MP4 yang dirakam di telefon bimbit) berukuran besar, mempunyai kadar bit yang tidak tetap, dan mudah tersekat dalam persekitaran rangkaian yang lemah. Kita perlu membiarkan sistem memotongnya secara automatik dan mengurangkan jumlahnya.

Masukkan "Tetapan Global" $ \ rightharrow $ "Kumpulan Templat Transcoding" di menu kiri.

Klik "Tambah kumpulan templat transcoding".

Format pakej: HLS (M3U8) sangat disyorkan.

💡Mengapa memilih HLS/M3U8? Pemutaran MP4 mesti menunggu bahagian muat turun keseluruhan fail untuk diindeks, dan format HLS adalah untuk memotong video menjadi potongan 10 saat yang tidak terkira banyaknya. Pengguna memuat turun seberapa banyak yang mereka gunakan untuk bermain, bukan hanya dalam beberapa saat, tetapi juga maju cepat, mencuba semula sangat sutera, dan secara automatik dapat menukar kelancaran mengikut rangkaian.

Periksa kejelasan yang anda perlukan (seperti SD, HD berprestasi tinggi), dan klik Simpan.

Langkah 2: Letakkan dua barisan pertahanan mati di rantai anti-kecurian (2 minit)

Nama domain dilengkapi, dan langkah keselamatan mesti segera digunakan. Sekiranya anda tidak menggunakan pautan anti-kecurian, setelah nama domain main balik anda didedahkan, semua orang boleh melacurkan lalu lintas anda secara langsung.

Garis pertahanan pertama: Rantai anti-kecurian Referer (anti-Xiaobai)

Prinsipnya adalah untuk memeriksa "siapa yang meminta video ini". Sekiranya permintaan itu dihantar dari Baidu atau laman web kecil orang lain, ia akan ditolak secara langsung.

Dalam senarai "Pengurusan Nama Domain", klik "Konfigurasi" di sebelah kanan nama domain main balik yang baru anda ikat.

Klik "Kawalan Akses" $ \ rightharrow $ di sebelah kiri untuk mencari "Rantai Pencurian Referer" dan klik Ubah suai.

Jenis: Pilih "Senarai Putih".

Senarai Pembaca: Masukkan nama domain laman web anda sendiri, satu demi satu, misalnya:

Benarkan Referer Kosong: Sekiranya video anda ingin disertakan dalam aplikasi mudah alih, atau membenarkan pengguna membukanya secara langsung di bar alamat penyemak imbas, periksa "Ya"; jika anda hanya dapat menontonnya di laman web anda sendiri, anda mesti memeriksa "Tidak".

Garis pertahanan kedua: pengesahan URL (pertahanan: kaedah menyelamatkan nyawa teras)

Referer mudah dipalsukan oleh penggodam dengan mengubah suai HTTP Header. Untuk mengunci video sepenuhnya, anda mesti menghidupkannya

Pengesahan URL

Setelah dibuka, alamat main balik sebenar video akan dipaksa untuk membawa rentetan rentetan penyulitan (seperti

? Auth_key = cap masa-nombor rawak-MD5

)。 Rentetan penyulitan ini dikira dan dihasilkan secara dinamik oleh pelayan belakang anda sendiri apabila pengguna mengklik untuk bermain, dan

Biasanya hanya 30 minit sah

。 Selepas tamat tempoh, penggodam tidak dapat memainkannya walaupun mereka mendapat keseluruhan pautan.

Juga di halaman "Kawalan Akses" nama domain, beralih ke tab "Pengesahan URL".

Klik Ubah dan ubah status menjadi "Buka".

Kunci utama/kunci siap sedia: masukkan rentetan secara rawak

Rentetan panjang (seperti MySecretKey2026), klik Simpan. Ingat Kunci ini, ini adalah kunci yang akan digunakan dalam kod kami kemudian.

Masa sah lalai ditetapkan kepada 1800 saat (30 minit).

Langkah 3: Spring Boot di bahagian belakang menghasilkan URL pengesahan secara dinamik (3 minit)

Sekarang kita ingin mencapainya: Apabila pengguna mengklik video di bahagian depan, bahagian belakang mengira pautan main balik yang selamat dengan ketepatan masa melalui "Kunci Utama" sebentar tadi.

1. Memperkenalkan kebergantungan

Memperkenalkan kelas alat teras Alibaba Cloud atas permintaan dalam projek Spring Boot anda:

<kebergantungan>

<GroupI d>org.apache.com mons</groupId>

<ArtifactId> commons-lang3</artifactId>

<Versi> 3.12.0</versi>

</dependency>

<kebergantungan>

<GroupId> commons-codec</groupId>

<ArtifactId> commons-codec</artifactId>

<Versi> 1.15</versi>

</dependency>

2. Menulis alat algoritma pengesahan

Tidak perlu memperkenalkan SDK rasmi yang berat. Skema pengesahan URL A Alibaba Cloud pada dasarnya adalah algoritma tandatangan MD5 standard. Salin terus kod barang kering tulen berikut yang saya perkemas untuk anda:

Langkah ketiga: Penulisan komponen peruntukan masa hadapan Vue (1 minit)

Bahagian belakang telah diselesaikan, manakala pada bahagian hadapan kita perlu mengelakkan pengguna daripada terus-menerus menekan butang “Hantar”, oleh itu perlulah dibina satu pemasa hitung balik standard selama 60 saat.

Di sini dengan

Vue 3 (API Komposisi) Axios

Sebagai contoh, terus sahaja kepada kod yang paling mudah difahami:

<templat>

<div class="kotak-sms">

<input type="text" v-model="phone" placeholder="Sila masukkan nombor telefon bimbit" />

<button :disabled="isCounting" @click="handleSend">

{{ adakah sedang mengira? '${countdown} saat kemudian dapatkan semula': 'Dapatkan kod pengesahan' }}

</butang>

</div>

</templat>

<script setup>

import { ref} dari 'vue';

import axios from 'axios';

const telefon = ref('');

satu perhitungan detik telah dirujuk kepada 60;

const isCounting = ref(false);

biarkan pemasa = null;

const handleSend = async () => {

jika (! /^1[3-9]\d{9}$/.test(phone.value)) {

mesej peringatan('Sila masukkan nombor telefon bimbit yang sah');

kembali;

}

cuba {

// Panggil antara muka pelayan belakang

Const res = axios.post('/api/sms/send? telefon=${telefon.value}');

mesej peringatan(res.data);

// Aktifkan peringkat detik ke bawah

mulakanMasaUndur();

} tangkap (rantaian) {

makluman ralat respons?. data || 'Permintaan gagal');

}

};

const mula mengundur masa = () => {

isCounting.value = true;

mengundur.masa = 60;

Timer = setInterval (

() => {

makanan_mundur.value--;

jika (countdown.value <= 0) {

clearInterval pemasa;

isCounting.value = false;

}

}, 1000);

};

</script>

Panduan Mengelakkan Kesilapan dalam Alam Sekitar Pengeluaran (Pengalaman Pahit dan Manis Operasi & Penyelenggaraan)

Berhati-hatilah kerana antara muka anda mungkin menjadi sasaran ‘serangan SMS’ oleh penggodam! Sebaik sahaja antara muka dilancarkan, para penggodam akan menggunakan skrip automatik dengan puluhan ribu nombor telefon rawak untuk membuat permintaan secara melulu ke arah antara muka /api/sms/send anda. Dalam masa satu malam sahaja, baki akaun Alibaba Cloud anda boleh habis digunakan sepenuhnya. Pertahanan hukum besi: Selain meletakkan pemasa hitung detik 60 saat pada bahagian hadapan dan menggunakan Redis pada bahagian belakang untuk mengehadkan kekerapan bagi setiap nombor telefon dalam tempoh 60 saat, antara muka penghantaran SMS mestilah secara wajib dilengkapi dengan “verifikasi imej kod” atau “verifikasi geser manusia-mesin”. Hanya permintaan yang sah dan berjaya menyusun semula teka-teki itu sahaja yang akan menyebabkan pelayan belakang menghantar SMS.

Mencetuskan "had frekuensi" Alibaba Cloud untuk melaporkan ralat. Alibaba Cloud SMS rasmi dilengkapi dengan satu set mekanisme anti-swiping kawalan aliran (tidak lebih dari 1 nombor telefon bimbit tunggal dalam 1 minit, tidak lebih dari 5 dalam 1 jam, dan tidak lebih dari 10 dalam 1 hari). Jika semasa ujian tempatan anda secara berterusan menghantar SMS kepada diri sendiri dan tiba-tiba muncul ralat isv.BUSINESS_LIMIT_CONTROL, jangan panik; bukan kerana kod anda salah, tetapi kerana anda telah dikenakan had kelajuan oleh pihak Alibaba Cloud. Had tersebut akan dibuka secara automatik esok.

Setelah menyelesaikan keseluruhan proses pintalan hulu-hilir ini, aplikasi perkhidmatan mikro anda secara rasminya telah memiliki keupayaan pemberitahuan mesej ringkas yang mematuhi peraturan dan selamat. Bertindak segera untuk mencubanya!

cloud
← 返回新闻中心