全部产品
Search
文档中心

Edge Security Acceleration:Autentikasi server

更新时间:Jun 21, 2025

Fitur autentikasi memungkinkan Anda melindungi aset situs web dari unduhan dan akses yang tidak sah. Topik ini menjelaskan cara kerja fitur autentikasi server Edge Security Acceleration (ESA), serta memberikan contoh untuk penjelasan lebih baik.

Cara kerjanya

  • Komposisi URL yang ditandatangani

    http://alamat_server[:port]/[uri]?auth_key=timestamp-rand-nilaihash
  • Bidang dalam URL yang ditandatangani

    Bidang

    Deskripsi

    alamat_server

    Alamat server tempat sumber daya berada.

    port

    Port server.

    uri

    Path relatif dari sumber daya spesifik pada server.

    auth_key

    Kunci autentikasi yang Anda tentukan.

    timestamp

    Timestamp saat URL yang ditandatangani kedaluwarsa. Nilai ini dihitung dengan menambahkan waktu hidup (TTL) yang ditentukan ke timestamp UNIX ketika URL yang ditandatangani dibuat. Timestamp pembuatan adalah bilangan bulat 10 digit yang menunjukkan jumlah detik sejak 1 Januari 1970 00:00:00 UTC.

    null

    rand

    String acak. String tersebut tidak boleh mengandung tanda hubung (-). Contoh: 477b3bbc253f467b8def6711128c7bec. Kami merekomendasikan penggunaan pengenal unik universal (UUID).

    md5hash

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

    Metode perhitungan:

    string_to_sign = "URI-Timestamp-rand-KunciPrivat" (URI menunjukkan path relatif dari sumber daya spesifik dan tidak mengandung parameter string kueri. Contoh: /accesslog/post)
    md5hash = md5sum(string_to_sign)
  • Logika autentikasi

    Saat point of presence (POP) menerima permintaan, POP memeriksa apakah nilai timestamp lebih awal dari waktu saat ini.

    • Jika timestamp lebih awal dari waktu saat ini, POP menganggap bahwa URL yang diminta telah kedaluwarsa dan mengembalikan kode status HTTP 403.

    • Jika timestamp lebih lambat dari waktu saat ini, string dihasilkan menggunakan string_to_sign yang dijelaskan dalam tabel sebelumnya. Kemudian, nilai md5hash dihasilkan menggunakan algoritma MD5. Nilai md5hash yang dihasilkan dibandingkan dengan nilai md5hash dalam permintaan.

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

      • Jika berbeda, permintaan gagal autentikasi. POP mengembalikan kode status HTTP 403.

Contoh

URL sumber daya adalah http://abc.aliyun.com:8080/accesslog/post, KunciPrivat adalah aliyuncdn1234, dan TTL yang ditentukan oleh WaktuKedaluwarsa adalah 300 detik.

  • Asumsikan waktu saat ini adalah 00:00:00 pada 1 Desember 2017, UTC+8:00, yang direpresentasikan sebagai 1512057600 dalam format UNIX. timestamp yang terkandung dalam URL yang ditandatangani dihitung menggunakan rumus berikut:

    timestamp = 1512057600 + 300 = 1512057900

    String yang akan ditandatangani:

    string_to_sign = "/accesslog/post-1512057900-0-aliyuncdn1234"
  • Hitung nilai md5hash berdasarkan string ini:

    md5hash = md5sum("/accesslog/post-1512057900-0-aliyuncdn1234") = 0b3cc22622bdbb82d5ba632a5a5c89ca
  • URL yang ditandatangani:

    http://abc.aliyun.com:8080/accesslog/post?auth_key=1512057900-0-0b3cc22622bdbb82d5ba632a5a5c89ca

Jika klien menggunakan URL yang ditandatangani untuk meminta sumber daya, ESA POP membandingkan nilai md5hash yang dihitung dengan nilai md5hash dalam permintaan. Jika nilainya sama (0b3cc22622bdbb82d5ba632a5a5c89ca dalam contoh ini), dan URL yang ditandatangani masih dalam periode validitas, permintaan dilayani sesuai harapan. Jika nilainya berbeda, permintaan gagal autentikasi.