全部产品
Search
文档中心

CDN:Tipe A penandatanganan

更新时间:Mar 12, 2026

Penandatanganan URL melindungi resource di situs Anda dari unduhan atau penggunaan tidak sah oleh pihak lain. Topik ini menjelaskan cara kerja Tipe A penandatanganan untuk CDN Alibaba Cloud dan menyertakan contoh implementasinya.

Cara kerja

  • Struktur URL yang ditandatangani tipe A

    http://DomainName/Filename?auth_key={<timestamp>-rand-uid-<md5hash>}
    Catatan

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

  • Deskripsi bidang

    Bidang

    Deskripsi

    DomainName

    Nama domain situs CDN Anda.

    Filename

    URL untuk pengambilan asal aktual. Filename harus diawali dengan garis miring (/).

    auth_key

    Informasi otentikasi untuk permintaan. Terdiri dari timestamp, rand, uid, dan md5hash.

    timestamp

    Waktu saat server penandatanganan menghasilkan URL yang ditandatangani. Nilai ini, bersama dengan Validity Period of Signed URL, mengatur kapan URL yang ditandatangani kedaluwarsa. Waktu ini berupa Stempel waktu UNIX 10 digit, yaitu jumlah detik yang telah berlalu sejak pukul 00:00:00 pada 1 Januari 1970.

    Catatan

    Atur TTL di Konsol Konfigurasi Penandatanganan URL. Setelah konfigurasi selesai, waktu kedaluwarsa URL yang ditandatangani adalah timestamp + periode validitas yang dikonfigurasi untuk CDN.

    rand

    Bilangan acak. Gunakan identifier unik universal (UUID) tanpa tanda hubung (-). Contoh: 477b3bbc253f467b8def6711128c7bec.

    uid

    ID pengguna. Bidang ini tidak digunakan. Atur nilainya ke 0.

    md5hash

    String 32 karakter yang dihitung menggunakan algoritma MD5. Terdiri dari angka dan huruf kecil.

    Metode perhitungan:

    sstring = "URI-Timestamp-rand-uid-PrivateKey" (URI adalah path relatif objek yang diminta, seperti /Filename, dan tidak mencakup parameter.)
    md5hash = md5sum(sstring)
  • Logika otentikasi

    Setelah server CDN menerima permintaan untuk mengakses resource, server tersebut memeriksa apakah timestamp + periode validitas URL yang ditandatangani lebih awal daripada waktu saat ini.

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

    • Jika timestamp + periode validitas URL yang ditandatangani lebih akhir daripada waktu saat ini, server menyusun string dalam format sstring (lihat format sstring pada tabel). Kemudian, server menghitung nilai md5hash menggunakan algoritma MD5 dan membandingkan nilai md5hash yang dihitung dengan nilai md5hash dalam permintaan pengguna.

      • Jika nilai-nilai tersebut sesuai, otentikasi berhasil dan resource dikembalikan.

        Catatan

        Saat otentikasi berhasil, parameter penandatanganan dihapus dari URL sehingga kembali ke bentuk URL aslinya. Hal ini meningkatkan rasio hit cache dan mengurangi lalu lintas kembali ke asal. Contohnya:

        • URL dengan parameter penandatanganan: http://DomainName/Filename?auth_key={<timestamp>-rand-uid-<md5hash>}

        • Setelah otentikasi berhasil:

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

          • Format URL untuk pengambilan asal aktual: http://DomainName/FileName

      • Jika nilai-nilai tersebut tidak sesuai, otentikasi gagal dan error HTTP 403 dikembalikan.

Contoh URL yang ditandatangani

Contoh berikut menunjukkan implementasi Tipe A penandatanganan.

  • Kondisi contoh

    • Objek permintaan origin:

      http://domain.example.com/video/standard/test.mp4
      Catatan

      Jika URL permintaan berisi karakter Tionghoa atau karakter non-ASCII lainnya, Anda harus terlebih dahulu encode URL tersebut. Lalu, 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

    • Kunci diatur sebagai: aliyuncdnexp1234.

    • Server penandatanganan menghasilkan URL yang ditandatangani pada pukul 08.00.00 tanggal 10 Oktober 2015 (UTC+8), yang sesuai dengan nilai integer desimal 1444435200.

  • Proses penggabungan

    1. Server CDN menyusun string yang akan di-hash untuk menghitung md5hash.

      /video/standard/test.mp4-1444435200-0-0-aliyuncdnexp1234
    2. Berdasarkan string ini, server CDN menghitung md5hash.

      md5hash = md5sum("/video/standard/test.mp4-1444435200-0-0-aliyuncdnexp1234") = 23bf85053008f5c0e791667a313e28ce
    3. Hasilkan URL yang ditandatangani.

      http://domain.example.com/video/standard/test.mp4?auth_key=1444435200-0-0-23bf85053008f5c0e791667a313e28ce

Saat klien menggunakan URL yang ditandatangani untuk membuat permintaan, jika nilai md5hash yang dihitung oleh server CDN sama dengan nilai md5hash dalam permintaan, yaitu 23bf85053008f5c0e791667a313e28ce, dan URL yang ditandatangani belum kedaluwarsa, otentikasi berhasil. Jika tidak, otentikasi gagal.