Tüm Ürünler
Search
Belge Merkezi

CDN:C tipi imzalama

Son Güncelleme:Oct 08, 2026

URL imzalama, CDN kaynaklarını hotlinking ve yetkisiz erişime karşı korur. C tipi imzalama, bir MD5 karmasını ve onaltılık zaman damgasını doğrudan URL'ye yerleştirir; böylece CDN sunucusu kaynağı sunmadan önce özgünlüğü ve son kullanma süresini doğrular.

Senaryonuza uygun imzalama yöntemini seçmek için URL imzalama genel bakış konusuna bakın.

Nasıl çalışır?

C tipi imzalama, isteğin MD5 karmasını ve onaltılık zaman damgasını URL'ye yerleştirir. Bu sayede CDN sunucusu, kaynağı sunmadan önce URL'nin özgünlüğünü ve son kullanma süresini doğrular.

İmzalamadan kaynak teslimine kadar olan tam akış şöyledir:

  1. İmzalama sunucunuz bir UNIX zaman damgası oluşturur ve özel anahtar, dosya yolu ile zaman damgasından bir MD5 karması hesaplar.

  2. Uygulamanız karma ve zaman damgasını URL'ye yerleştirir (aşağıda açıklanan Format 1 veya Format 2 kullanılır).

  3. İstemci, imzalı URL'yi kullanarak bir istek gönderir.

  4. CDN sunucusu URL'nin süresinin dolup dolmadığını kontrol eder. Süre dolmuşsa HTTP 403 döndürür.

  5. URL hala geçerliyse, CDN sunucusu aynı girdilerden MD5 karmasını yeniden hesaplar ve istekteki karma ile karşılaştırır.

  6. Eşleşme durumunda, CDN sunucusu imzalama parametrelerini URL'den kaldırır. Bu işlem önbellek isabet oranını artırır ve kaynağa dönüş trafiğini azaltır; ardından kaynak sunulur.

URL formatları

C tipi imzalama iki URL formatını destekler. Her ikisi de aynı iki alanı taşır: md5hash ve timestamp.

Format 1 — karma ve zaman damgası yola gömülür:

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

Format 2 — karma ve zaman damgası sorgu parametresi olarak eklenir:

http://DomainName/FileName?{KEY1=<md5hash>&KEY2=<timestamp>}
{} içindeki içerik, standart URL'ye eklenen şifrelenmiş bilgileri temsil eder.

Alan referansı


Alan


Açıklama


DomainName


CDN sitenizin alan adı.


PrivateKey


Özel bir şifreleme anahtarıdır. 16–32 karakter uzunluğunda olmalı ve büyük harf, küçük harf ile rakam içerebilir.


FileName


Gerçek kaynak çekme işlemi için kullanılan yoldur. / ile başlamalıdır. Yol ASCII olmayan karakterler (Çince karakterler gibi) içeriyorsa, karma hesaplamasında kullanmadan önce URL kodlaması uygulayın. Örnek: /image/AlibabaCloud.jpg → /image/%E9%98%BF%E9%87%8C%E4%BA%91.jpg.


timestamp


İmzalama sunucusunun imzalı URL'yi oluşturduğu zamanı ifade eden, onaltılık formattaki UNIX zaman damgasıdır. UNIX zaman damgası, saat diliminden bağımsız olarak 1 Ocak 1970 UTC 00:00:00'dan itibaren geçen saniyeleri sayan 10 basamaklı pozitif bir ondalık tamsayıdır.


md5hash


MD5 algoritması kullanılarak hesaplanan 32 karakterlik, küçük harfli onaltılık bir dizedir. Girdi dizesi (sstring): Privatekey + URI + timestamp şeklindedir (URI, sorgu parametreleri hariç istenen nesnenin göreli yoludur — örneğin, /FileName).

md5hash hesaplama yöntemi:

sstring  = Privatekey + URI + timestamp  (URI is the relative path of the requested object, without query parameters — for example, /FileName)
md5hash  = md5sum(sstring)

Geçerlilik süresi işleyişi:

timestamp + geçerlilik süresi değeri mevcut zamandan önce olduğunda imzalı URL'nin süresi dolar. Geçerlilik süresi, CDN alan adınız için yapılandırılan değerdir. Bir URL'nin ömrünü bu sürenin ötesine uzatmak için URL oluştururken timestamp değerini UNIX zaman damgası + uzatma süresi olarak ayarlayın. Gerçek sona erme zamanı daha sonra timestamp + yapılandırılmış geçerlilik süresi olur.

Kimlik doğrulama mantığı

CDN sunucusu bir istek aldığında:

  1. timestamp + geçerlilik süresi değerinin mevcut zamandan önce olup olmadığını kontrol eder.

    • Süresi dolmuş: HTTP 403 döndürür.

    • Süresi dolmamış: Karma doğrulamasına devam eder.

  2. Privatekey, URI ve timestamp değerlerinden aynı sstring değerini oluşturur ve kendi md5hash değerini hesaplar.

  3. Hesaplanan karma değerini istekteki md5hash değeriyle karşılaştırır.

    • Eşleşme: Kimlik doğrulama başarılı olur. İmzalama parametreleri URL'den kaldırılır ve kaynak döndürülür.

    • Eşleşme yok: HTTP 403 döndürür.

Kimlik doğrulama başarılı olduktan sonra, CDN sunucusu hem önbellek anahtarı hem de kaynak çekme işlemi için temiz URL'yi (imzalama parametreleri olmadan) kullanır:


Adım


URL


Önbellek anahtarı


http://DomainName/FileName


Kaynak çekme


http://DomainName/FileName

İmzalama parametrelerinin kaldırılması, önbelleğe alınmış yanıtların istekler arasında yeniden kullanılabilmesini sağlar. Bu durum önbellek isabet oranını artırır ve kaynağa dönüş trafiğini azaltır.

Örnek

Aşağıdaki örnek, eksiksiz bir C tipi imzalama hesaplamasını göstermektedir.

Girdiler:


Alan


Değer


Kaynak isteği


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


PrivateKey


aliyuncdnexp1234


timestamp


55CE8100

1. Adım: Girdi dizesini oluşturun.

sstring = aliyuncdnexp1234/test.flv55CE8100

2. Adım: MD5 karmasını hesaplayın.

md5hash = md5sum(aliyuncdnexp1234/test.flv55CE8100)
        = a37fa50a5fb8f71214b1e7c95ec7a1bd

3. Adım: İmzalı URL'yi oluşturun.

Format 1:

http://domain.example.com/a37fa50a5fb8f71214b1e7c95ec7a1bd/55CE8100/test.flv

Format 2:

http://domain.example.com/test.flv?KEY1=a37fa50a5fb8f71214b1e7c95ec7a1bd&KEY2=55CE8100

İstemci isteği gönderdiğinde, CDN sunucusu aynı girdilerden MD5 karmasını yeniden hesaplar. Sonuç a37fa50a5fb8f71214b1e7c95ec7a1bd ile eşleşirse ve URL'nin süresi dolmamışsa kimlik doğrulama başarılı olur ve kaynak döndürülür.

Sırada ne var?