全部产品
Search
文档中心

CDN:Tipe penandatanganan F

更新时间:Feb 05, 2026

Penandatanganan URL melindungi resource di situs Anda dari unduhan dan penggunaan yang tidak sah. CDN Alibaba Cloud menyediakan empat jenis penandatanganan URL. Topik ini menjelaskan prinsip tipe penandatanganan F dan memberikan contohnya.

Cara kerja

  • Struktur URL yang ditandatangani untuk tipe penandatanganan F

    Format URL akses:

    http://DomainName/FileName?{sign=<md5hash>&time=<timestamp>}
    Catatan
    • Konten dalam {} 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 (?).

  • Deskripsi bidang

    Bidang

    Deskripsi

    DomainName

    Nama domain situs CDN Anda.

    PrivateKey

    Kunci enkripsi kustom. Panjangnya harus 16 hingga 32 karakter dan dapat berisi huruf kapital, huruf kecil, serta angka.

    FileName

    URL untuk pengambilan asal (origin fetch) yang sebenarnya. Untuk penandatanganan, FileName harus diawali dengan /.

    timestamp

    Waktu saat server penandatanganan menghasilkan URL yang ditandatangani. Bidang ini, bersama dengan validity period of the signed URL, menentukan kapan URL tersebut kedaluwarsa. Waktu ini merupakan stempel waktu UNIX dari server penandatanganan. Stempel waktu UNIX adalah jumlah detik yang telah berlalu sejak pukul 00:00:00 UTC pada 1 Januari 1970. Ini merupakan bilangan desimal positif 10 digit dan tidak bergantung pada zona waktu. Stempel waktu direpresentasikan dalam format heksadesimal.

    Catatan

    Dalam kebanyakan kasus, periode validitas URL yang ditandatangani adalah periode validitas yang dikonfigurasi untuk CDN. Jika Anda memperpanjang periode validitas saat menghasilkan URL yang ditandatangani, `timestamp` = stempel waktu UNIX + periode perpanjangan. Periode validitas aktual URL yang ditandatangani adalah `timestamp` + periode yang dikonfigurasi untuk CDN.

    md5hash

    String yang dihitung menggunakan algoritma MD5. Ini adalah string tetap sepanjang 32 karakter yang terdiri dari angka 0–9 dan huruf kecil a–z.

    Nilai md5hash dihitung dari string berikut.

    sstring = "Privatekey+URI+timestamp" (URI adalah alamat relatif objek yang diminta dan tidak mengandung parameter, seperti /Filename)
    md5hash = md5sum(sstring)
  • Logika otentikasi

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

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

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

      • Jika nilainya sesuai, otentikasi berhasil dan resource dikembalikan.

        Catatan

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

        • Format URL yang ditandatangani: http://DomainName/FileName?{sign=<md5hash>&time=<timestamp>}

        • Setelah otentikasi berhasil:

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

          • Format 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 menerapkan tipe penandatanganan F.

  • Kondisi contoh

    • Permintaan origin:

      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 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

    • Nilai PrivateKey: aliyuncdnexp1234.

    • Nilai timestamp: 55CE8100.

  • Alur Penyambungan

    1. Server CDN menyusun 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. Hasilkan URL yang ditandatangani.

      Format URL yang ditandatangani:

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

Saat klien menggunakan URL yang ditandatangani untuk mengakses resource, server CDN menghitung nilai md5hash. Jika nilai yang dihitung adalah a37fa50a5fb8f71214b1e7c95ec7a1bd, yang sesuai dengan nilai md5hash dalam permintaan, dan URL belum kedaluwarsa, maka otentikasi berhasil. Jika tidak, otentikasi gagal.