All Products
Search
Document Center

CDN:Penandatanganan URL Tipe F

Last Updated:Mar 12, 2026

Fitur Penandatanganan URL melindungi resource pada server origin Anda dari unduhan dan akses yang tidak sah. Alibaba Cloud CDN dan menyediakan empat tipe penandatanganan URL. Topik ini menjelaskan prinsip penandatanganan tipe F dan memberikan contohnya.

Prinsip

  • Struktur URL yang ditandatangani Tipe F

    Format URL akses:

    http://DomainName/FileName?{sign=<md5hash>&time=<timestamp>}
    Catatan
    • {} merepresentasikan informasi terenkripsi yang ditambahkan ke URL standar.

    • URL akses tidak boleh mengandung karakter Tionghoa.

    • Penandatanganan URL tidak didukung untuk URL yang mengandung tanda tanya (?).

    • Parameter sign dan time dalam contoh merupakan parameter sistem default. Anda dapat menyesuaikan Signature Parameter dan Timestamp Parameter di Konsol Configure URL Signing.

  • Field

    Description

    DomainName

    Nama domain situs Alibaba Cloud CDN.

    PrivateKey

    Kunci enkripsi yang ditentukan pengguna, terdiri dari 16 hingga 32 karakter (huruf besar, huruf kecil, dan angka).

    FileName

    URL permintaan asal yang sebenarnya. Selama otentikasi, FileName harus diawali dengan /.

    timestamp

    Waktu ketika server penandatanganan menghasilkan URL yang ditandatangani. Nilai ini, bersama dengan validity period of the signed URL, mengontrol waktu kedaluwarsa URL tersebut. Timestamp menggunakan Unix timestamp dari server penandatanganan (Unix timestamp adalah jumlah total detik sejak UTC 1970-01-01 00:00:00 hingga saat ini, berupa bilangan desimal 10 digit yang tidak bergantung pada zona waktu). Di Konsol Configure URL Signing, atur Timestamp Format menjadi Decimal (Unix Timestamp) atau Hexadecimal (Unix Timestamp).

    Catatan

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

    md5hash

    String yang dihitung menggunakan algoritma MD5, terdiri dari angka 0–9 dan huruf kecil a–z, dengan panjang tetap 32 karakter.

    md5hash dihitung menggunakan string berikut.

    sstring = "Privatekey+URI+timestamp" // URI adalah alamat relatif objek yang diminta pengguna, tanpa parameter, misalnya /Filename
    md5hash = md5sum(sstring)
  • Logika otentikasi

    Ketika server Alibaba Cloud CDN atau menerima permintaan akses ke suatu resource, server tersebut memeriksa apakah nilai timestamp ditambah periode validitas lebih kecil dari waktu saat ini.

    • Jika nilai timestamp ditambah periode validitas lebih kecil dari waktu saat ini, server menentukan bahwa URL telah kedaluwarsa dan mengembalikan error HTTP 403.

    • Jika timestamp + periode validitas URL yang ditandatangani lebih besar dari waktu saat ini, server akan membuat string menggunakan metode sstring (untuk informasi selengkapnya, lihat metode pembuatan sstring dalam tabel). Kemudian, gunakan algoritma MD5 untuk menghitung nilai md5hash. Bandingkan nilai md5hash yang dihitung dengan nilai md5hash yang disertakan dalam permintaan akses pengguna.

      • Jika nilainya sesuai, otentikasi berhasil dan resource yang diminta dikembalikan.

        Catatan

        Setelah otentikasi berhasil, parameter otentikasi dihapus dari URL, dan URL kembali ke format aslinya. Proses ini meningkatkan rasio hit cache dan mengurangi lalu lintas kembali ke asal. Contohnya:

        • URL dengan parameter otentikasi: http://DomainName/FileName?{sign=<md5hash>&time=<timestamp>}

        • Setelah otentikasi berhasil:

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

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

      • Jika nilainya tidak sesuai, otentikasi gagal, dan server mengembalikan error HTTP 403.

Contoh URL yang ditandatangani

Contoh berikut menunjukkan cara kerja penandatanganan URL tipe F.

  • Kondisi contoh

    • Permintaan asal:

      http://domain.example.com/test.flv
      Catatan

      Jika URL permintaan mengandung karakter Tionghoa atau karakter non-ASCII lainnya, Anda harus terlebih dahulu encode URL tersebut. Kemudian, gunakan URL yang telah di-encode untuk membuat string yang akan di-hash. 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

    • Nilai PrivateKey: aliyuncdnexp1234.

    • Nilai timestamp: 55CE8100.

  • Proses penggabungan

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

      aliyuncdnexp1234/test.flv55CE8100
    2. Berdasarkan string ini, server CDN menghitung nilai md5hash.

      md5hash = md5sum(aliyuncdnexp1234/test.flv55CE8100) = a37fa50a5fb8f71214b1e7c95ec7a1bd
    3. Buat URL yang ditandatangani.

      Format URL yang ditandatangani:

      http://domain.example.com/test.flv?sign=a37fa50a5fb8f71214b1e7c95ec7a1bd&time=55CE8100

Ketika klien menggunakan URL terenkripsi untuk mengakses resource, jika nilai CDN yang dihitung oleh server md5hash dan nilai md5hash dalam permintaan akses sama-sama bernilai a37fa50a5fb8f71214b1e7c95ec7a1bd, serta URL yang ditandatangani masih dalam periode validitasnya, maka otentikasi berhasil. Jika tidak, otentikasi gagal.