全部产品
Search
文档中心

ApsaraVideo VOD:Tipe B penandatanganan

更新时间:Jun 21, 2025

ApsaraVideo VOD memungkinkan Anda menggunakan fitur penandatanganan URL untuk melindungi konten asal dari unduhan dan akses tidak sah. Fitur ini mendukung tiga jenis penandatanganan. Topik ini menjelaskan cara kerja tipe B penandatanganan.

Cara kerjanya

Cara sebuah URL dienkripsi berdasarkan tipe B

http://DomainName/timestamp/md5hash/FileName

Bidang dalam URL yang ditandatangani

Bidang

Deskripsi

DomainName

Nama domain untuk ApsaraVideo VOD.

timestamp

Waktu saat URL yang ditandatangani dibuat. Timestamp dan periode validitas default menentukan waktu kedaluwarsa URL yang ditandatangani. Waktu tersebut dalam zona UTC+8 dan mengikuti format YYYYMMDDHHMM.

null

Dalam kebanyakan kasus, URL yang ditandatangani akan kedaluwarsa setelah periode validitas default yang Anda tentukan di ApsaraVideo VOD berakhir. Jika Anda menentukan periode validitas untuk URL yang ditandatangani di server penandatanganan, timestamp dan periode validitas URL yang ditandatangani dihitung berdasarkan rumus berikut: Timestamp = UNIX timestamp pada server penandatanganan + Periode validitas yang dikonfigurasikan pada server penandatanganan. Periode validitas = Timestamp + Periode validitas default.

md5hash

String yang dihitung menggunakan algoritma MD5. String tersebut harus memiliki panjang 32 karakter dan dapat berisi angka serta huruf kecil.

NamaFile

URL sebenarnya yang menunjuk ke sumber daya yang diminta di server asal. Nilai bidang NamaFile harus dimulai dengan garis miring (/).

Logika penandatanganan

Ketika titik kehadiran (POP) CDN Alibaba Cloud menerima permintaan, POP memeriksa apakah waktu yang dihitung dengan menambahkan nilai timestamp dan periode validitas default lebih awal dari waktu saat ini.

  • Jika waktu yang dihitung dengan menambahkan nilai timestamp dan periode validitas default lebih awal dari waktu saat ini, POP menentukan bahwa URL telah kedaluwarsa dan mengembalikan kode status HTTP 403.

  • Jika waktu yang dihitung dengan menambahkan timestamp dan periode validitas default lebih lambat dari waktu saat ini, POP menghasilkan string berdasarkan sstring yang dijelaskan dalam tabel sebelumnya. Kemudian, POP menggunakan algoritma MD5 untuk menghitung nilai md5hash dan membandingkan nilai md5hash yang dihitung dengan nilai md5hash dalam permintaan.

    • Jika kedua nilai tersebut berbeda, autentikasi gagal. POP mengembalikan kode status HTTP 403.

    • Jika kedua nilai tersebut sama, permintaan lolos autentikasi. POP mengembalikan sumber daya yang diminta.

      null

      Jika permintaan lolos autentikasi, parameter spesifik autentikasi dihapus dari URL untuk meningkatkan rasio temuan cache dan mengurangi lalu lintas asal.

      • Format URL dalam permintaan balik ke asal adalah http://DomainName/NamaFile.

      • Format URL yang digunakan untuk menghasilkan kunci cache adalah http://DomainName/NamaFile.

Contoh

Contoh berikut menunjukkan cara mengimplementasikan tipe B penandatanganan.

Kondisi sampel

  • Ambil objek dari server asal:

    http://example.aliyundoc.com/video/standard/test.mp4
    null

    Jika URL objek yang Anda ambil dari server asal berisi karakter Cina, Anda harus mengkodekan URL tersebut sebelum menggabungkan URL yang ditandatangani.

  • Set PrivateKey menjadi aliyunvodexp1234.

  • Konversikan timestamp ketika URL yang ditandatangani dibuat 2021-08-01 00:00:00 (UTC+8) menjadi bilangan bulat desimal 1.627.747.200.

Prosedur penggabungan

  1. Hasilkan string tanda tangan yang digunakan untuk menghitung nilai md5hash.

    aliyunvodexp12341627747200/video/standard/test.mp4
  2. Hitung nilai md5hash menggunakan string tanda tangan.

    md5hash = md5sum("aliyunvodexp12341627747200/video/standard/test.mp4") = 9044548ef1527deadafa49a890a3****
  3. Hasilkan URL yang ditandatangani.

    http://example.aliyundoc.com/1627747200/9044548ef1527deadafa49a890a3****/video/standard/test.mp4

Jika klien menggunakan URL yang ditandatangani untuk meminta sumber daya, POP membandingkan nilai md5hash yang dihitung dengan nilai md5hash dalam permintaan. Jika kedua nilai tersebut sama, seperti 9044548ef1527deadafa49a890a3****, permintaan lolos autentikasi. Jika tidak, autentikasi gagal.