全部产品
Search
文档中心

CDN:Tipe B penandatanganan

更新时间:Feb 06, 2026

Fitur Penandatanganan URL melindungi resource di situs Anda dari unduhan dan penggunaan yang tidak sah. Alibaba Cloud CDN menyediakan empat metode penandatanganan. Topik ini menjelaskan prinsip Tipe B penandatanganan dan memberikan contohnya.

Cara kerja

  • Struktur URL yang ditandatangani untuk Tipe B penandatanganan

    http://DomainName/{<timestamp>/<md5hash>}/FileName
    Catatan

    Konten dalam {} merepresentasikan informasi terenkripsi yang ditambahkan ke URL standar.

    Bidang autentikasi

    Bidang

    Deskripsi

    DomainName

    Nama domain situs CDN Anda.

    timestamp

    Waktu saat server penandatanganan menghasilkan URL yang ditandatangani. Bidang ini, bersama dengan validity period, mengontrol waktu kedaluwarsa URL yang ditandatangani. Waktu berdasarkan UTC+8 dan formatnya adalah YYYYMMDDHHMM.

    Catatan

    Dalam sebagian besar kasus, periode validitas URL yang ditandatangani adalah periode validitas yang dikonfigurasi untuk CDN. Jika Anda memperpanjang periode validitas saat membuat URL yang ditandatangani, `timestamp` = Stempel waktu UNIX + periode perpanjangan. Periode validitas aktual URL yang ditandatangani adalah `timestamp` + periode yang dikonfigurasi untuk CDN.

    md5hash

    String validasi yang dihitung menggunakan algoritma MD5. Ini adalah string dengan panjang tetap 32 karakter yang terdiri dari angka 0 hingga 9 dan huruf kecil a hingga z.

    Nilai md5hash dihitung dari string berikut.

    sstring = "Privatekey+timestamp+Path" (Path adalah alamat relatif objek yang diminta, yang tidak mengandung parameter, seperti /Filename)
    md5hash = md5sum(sstring)

    Filename

    Jalur file yang akan diakses untuk pengambilan asal. Untuk autentikasi, Filename harus diawali dengan /.

  • Logika autentikasi

    Setelah server CDN menerima permintaan akses resource, server tersebut memeriksa apakah jumlah timestamp dan periode validitas lebih awal daripada waktu saat ini.

    • Jika jumlah timestamp dan periode validitas lebih awal daripada waktu saat ini, server menentukan bahwa URL telah kedaluwarsa dan mengembalikan error HTTP 403.

    • Jika jumlah timestamp dan periode validitas lebih baru daripada waktu saat ini, server menyusun string dalam format sstring. Untuk informasi lebih lanjut tentang format tersebut, lihat format sstring dalam tabel. Kemudian, server menggunakan algoritma MD5 untuk menghitung nilai md5hash, lalu membandingkan nilai md5hash yang dihitung dengan nilai md5hash dalam permintaan akses.

      • Jika nilainya sesuai, autentikasi berhasil dan resource dikembalikan.

        Catatan

        Saat autentikasi berhasil, parameter autentikasi dihapus dari URL dan URL dikembalikan ke format aslinya. Hal ini meningkatkan rasio hit cache dan mengurangi lalu lintas kembali ke asal. Contohnya:

        • URL dengan parameter autentikasi: http://DomainName/{<timestamp>/<md5hash>}/FileName

        • Setelah autentikasi berhasil:

          • URL yang digunakan untuk menghasilkan kunci cache: http://DomainName/FileName

          • URL yang digunakan untuk pengambilan asal: http://DomainName/FileName

      • Jika nilainya tidak sesuai, autentikasi gagal dan error HTTP 403 dikembalikan.

Contoh URL yang ditandatangani

Contoh berikut menunjukkan cara kerja Tipe B penandatanganan.

  • Kondisi contoh

    • Objek permintaan asli:

      http://domain.example.com/4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3
      Catatan

      Jika URL permintaan berisi karakter Tionghoa atau karakter non-ASCII lainnya, Anda harus terlebih dahulu encode URL tersebut. Kemudian, gunakan URL yang telah di-encode untuk menyusun string guna penghashan. Contohnya:

      • URL asli: https://example.com/image/AlibabaCloud.jpg

      • URL yang di-encode: https://example.com/image/%E9%98%BF%E9%87%8C%E4%BA%91.jpg

    • Nama domain untuk situs CDN (DomainName): domain.example.com.

    • Stempel waktu (timestamp): 201508150800.

    • Kunci privat (Privatekey): aliyuncdnexp1234.

    • Jalur relatif permintaan pengguna (Path): /4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3.

    • Jalur file yang diakses untuk pengambilan asal (Filename): /4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3.

  • Alur penyambungan

    1. Susun string untuk penghashan:

      // sstring="Privatekey+timestamp+Path"
      sstring=aliyuncdnexp1234201508150800/4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3
    2. Hitung nilai md5hash:

      // md5hash = md5sum(sstring)
      md5hash = md5sum("aliyuncdnexp1234201508150800/4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3") = 9044548ef1527deadafa49a890a377f0
    3. Hasilkan URL yang ditandatangani:

      // Signed URL=http://DomainName/{<timestamp>/<md5hash>}/FileName
      http://domain.example.com/201508150800/9044548ef1527deadafa49a890a377f0/4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3

Saat klien menggunakan URL yang ditandatangani untuk mengirim permintaan akses, server CDN menghitung nilai md5hash. Jika nilai yang dihitung sesuai dengan nilai md5hash dalam permintaan, yaitu 9044548ef1527deadafa49a890a377f0, dan URL yang ditandatangani belum kedaluwarsa, autentikasi berhasil. Jika tidak, autentikasi gagal.