CDN: bir siteye ne zaman gerekir
CDN, sitenin dosyalarının kopyalarını dünyanın dört bir yanındaki sunucularda tutar ve ziyaretçiye en yakın olandan sunar. Bu, resimlerin, betiklerin ve videoların yüklenmesini hızlandırır ve sunucunuzun yükünü azaltır; ama yavaş bir yazılımı hızlandırmaz ve sunucu ülkesinin doğru seçilmesinin yerini tutmaz. CDN'in hangi durumlarda gerçekten gerektiğine, ne zaman doğru yerde tek bir VPS'in yettiğine bakalım.
CDN (content delivery network, içerik dağıtım ağı) ziyaretçi ile sunucunuz arasındaki bir katmandır. Alan adının DNS kaydı sunucuyu değil, CDN'i gösterir. Ziyaretçi ağın en yakın düğümüne bağlanır; düğüm önbelleğinde olanı sunar, geri kalanı için ise bu düzende kaynak (origin) adı verilen sunucunuza başvurur.
CDN ne yapar?
- Statik dosyaları ziyaretçinin yakınından sunar. Resimler, CSS, JavaScript, yazı tipleri ve videolar başka bir kıtadan değil, aynı ya da komşu ülkedeki bir düğümden yüklenir.
- Bağlantının kurulmasını kısaltır. Şifreli bağlantı en yakın düğümle kurulur. TLS 1.3'te bile el sıkışma ayrı bir gidiş-dönüş sürer (RFC 8446) ve başka bir kıtadaki sunucuya ping 150 ms ise yalnızca bağlantı saniyenin yaklaşık üçte birini alır.
- Sunucunun ve bağlantının yükünü azaltır. İsteklerin %90'ını önbellek karşılıyorsa sunucuya trafiğin onda biri kalır. Bu sayede daha küçük bir paketle yetinebilir ve Bant genişliği ve trafik: 1 Gbps ve sınırsız ne anlama gelir yazısında anlatılan trafik sınırına takılmazsınız.
- Saldırıların bir kısmını üstlenir. Bunun için aşağıda ayrı bir bölüm var.
CDN ne yapmaz?
- Önbelleğe alınmayanı hızlandırmaz. Sepet, kullanıcı hesabı, arama, API ve giriş yapmış kullanıcıların sayfaları her seferinde kaynaktan istenir. Bir sayfa yavaş veritabanı yüzünden iki saniyede oluşuyorsa, CDN ile de aynı iki saniyede oluşur. Burada daha güçlü bir sunucu ya da optimizasyon yardımcı olur: Bir web sitesine ne kadar bellek ve kaç çekirdek gerekir? yazısına bakın.
- Adresi bilinen sunucuyu korumaz. Doğrudan kaynağın IP adresine yapılan saldırı CDN'in yanından geçer.
- Yedeklerin yerini tutmaz. Önbellekte dosyaların yalnızca bir kısmı ve yalnızca bir süreliğine bulunur; siteyi oradan geri yükleyemezsiniz.
- Bir bağımlılık ekler. CDN'deki bir arıza ya da ayarlarındaki bir hata, siteyi tıpkı sunucu arızası gibi kapatır.
Ziyaretçilere daha yakın bir sunucu ne zaman yeter?
Ziyaretçiler tek bir ülkede ya da tek bir bölgedeyse, siteyi hızlandırmanın en basit yolu sunucuyu da oraya koymaktır. Kuş uçuşu her 100 km ping'e yaklaşık bir milisaniye ekler ve hedef kitlenin ülkesindeki bir sunucu genellikle 5–30 ms içinde yanıt verir. Böyle bir site CDN ile pek hızlanmaz, CDN olmadan ise kurulumu daha basittir. Lokasyonun nasıl seçileceği ve ping'in ödemeden önce nasıl ölçüleceği Sunucu için ülke nasıl seçilir? ve Ödeme yapmadan önce VPS ping ve hızı nasıl test edilir yazılarında anlatılıyor.
CDN; hedef kitle farklı kıtalarda olduğunda, sitede çok sayıda ağır dosya bulunduğunda (fotoğraflı katalog, video, indirmeler) ya da trafik ani zirveler yaptığında gerekir: indirim kampanyası, e-posta bülteni, basında çıkan bir haber. İki üç bölgedeki bir kitle için alternatif, her birinde birer sunucudur. accsly.io kataloğuna göre (Kasım 2026) VPS paketleri 96 ülkede bulunuyor, 400 sağlayıcının sunucuları beş veya daha fazla ülkede, 155'inin ise on veya daha fazla ülkede; yani birkaç lokasyonu tek bir sağlayıcıdan alabilirsiniz. Ancak birden çok sunucuyu senkronize etmeniz gerekir, CDN ise dosyaları tek bir sunucudan önbelleğe alır.
Önbellek kuralları
CDN neyi ve ne kadar süre saklayacağına sunucunuzun yanıt başlıklarına, özellikle de Cache-Control başlığına (RFC 9111) bakarak karar verir:
max-age: yanıtın kaç saniye saklanabileceği;s-maxage: aynısı, yalnızca CDN ve proxy'ler için;private: yanıt tek bir kullanıcıya aittir, onu tarayıcı saklayabilir ama CDN saklayamaz;no-store: hiçbir yerde saklanmaz.
Çoğu site için işe yarayan düzen şudur: adında sürüm bulunan dosyalar (app.3f2a.css) bir yıllık max-age ve immutable işaretiyle (RFC 8246) sunulur, dosya değişince adı değişir. HTML birkaç dakikalığına önbelleğe alınır ya da hiç alınmaz. Oturum, sepet ve kişisel veri içeren sayfalar private veya no-store ile işaretlenir.
CDN'lerin kendi varsayılan kuralları da vardır. Örneğin Cloudflare HTML ve JSON'u önbelleğe almaz, Set-Cookie başlığı ya da Cache-Control: private içeren yanıtları da almaz. Bu başlıkları yok sayarak tüm sayfaları önbelleğe alan bir kural açarsanız, CDN bir ziyaretçiye başka biri için oluşturulmuş sayfayı, onun adı ve siparişleriyle birlikte sunabilir. Böyle bir kuralı yalnızca kesinlikle kişisel veri bulunmayan adresler için açın.
Yanıtın önbellekten geldiğini curl -I https://example.com/app.css komutuyla kontrol edebilirsiniz: Age başlığı yanıtın kaç saniyedir saklandığını gösterir, önbellek durumunu ise CDN, adı kendi belgelerinde yazan ayrı bir başlıkta bildirir.
CDN ve DDoS koruması
Büyük CDN'lerin bağlantı kapasitesi ve düğüm sayısı tek bir veri merkezininkinden kat kat fazladır; bu yüzden hacimsel saldırılar ağa dağılır ve sunucunuza ulaşmaz. Uygulama katmanındaki saldırıları CDN kurallarla süzer: istek sıklığını sınırlama, tarayıcı doğrulaması, ülkeye veya adrese göre engelleme. Bu, sağlayıcının korumasını tamamlar, onun yerini tutmaz: accsly.io kataloğuna göre (Kasım 2026) VPS paketi olan 2.243 sağlayıcıdan 1.123'ü DDoS koruması sunduğunu belirtiyor ve bu genellikle ağ katmanında filtrelemedir. Paketteki böyle bir satırın ardında tam olarak ne olduğu DDoS koruması: sağlayıcılar gerçekte ne sunuyor yazısında ele alınıyor; bu korumayı içeren paketler DDoS korumalı VPS seçkisinde toplanmış.
CDN üzerinden koruma yalnızca kaynağın adresi bilinmediği sürece işe yarar. Sunucuda 80 ve 443 numaralı portlara gelen bağlantılara yalnızca CDN'in adres aralıklarından izin verin; her sağlayıcı bu aralıkları yayımlar. E-postayı ve diğer hizmetleri siteyle aynı IP'de tutmayın: MX kayıtları ve e-posta başlıkları adresi açığa çıkarır. CDN'i bağladıktan sonra, eski IP herkese açık DNS kayıtlarında yer aldıysa sunucunun IP'sini değiştirin: bu kayıtların geçmişi açık veritabanlarında saklanır.
Ne kadar tutar?
CDN'in fiyatı aktarılan trafikten, istek sayısından ve ek işlevlerden oluşur. Üç model görülür:
- Ücretsiz paket, hacim veya işlev sınırlarıyla. Küçük bir site için çoğu zaman tamamen yeterlidir. Örneğin Amazon CloudFront'un ücretsiz paketinde ayda bir milyon istek ve 100 GB var.
- Gigabayt başına ödeme, bölgeye göre fiyatla. Örneğin bunny.net'te Avrupa ve Kuzey Amerika'da gigabayt başına 0,01 dolardan başlıyor, diğer bölgelerde 3–6 kat daha pahalı. Bu modelde video ve büyük indirmeler başlıca gider kalemi olur.
- Sabit aylık ücret, bir trafik ve istek paketi için, paket sınırları içinde aşım ücreti olmadan.
Uygulama koruması (WAF), görsel optimizasyonu, günlüklerin saklanması ve özel adresler için ayrıca ödeme yapılır. Bağlamadan önce CDN'in fiyatını sağlayıcınızdaki trafik fiyatıyla karşılaştırın: sunucu zaten ayda birkaç terabayt içeriyorsa ve hedef kitle yakındaysa, trafikten tasarruf için CDN'e gerek yoktur.
Siteyi bozmadan nasıl bağlanır?
- Düzeni seçin. Kayıt şirketinde DNS sunucularını değiştirerek alan adının tüm bölgesini CDN'e devredebilir ya da yalnızca statik dosyalar için bir alt alan adını, örneğin
static.example.com'u, bir CNAME kaydıyla CDN üzerinden yönlendirebilirsiniz. İkinci seçeneği geri almak daha kolaydır. Bu kayıtların nasıl işlediği Sunucu sahibi için alan adları ve DNS yazısında anlatılıyor. - Kaynağa kadar şifrelemeyi ayarlayın. CDN ile sunucu arasındaki bağlantı da sertifika doğrulamalı HTTPS üzerinden olmalıdır. CDN'in sunucuya HTTP ile bağlandığı mod, trafiği bu kesimde açık bırakır. Sertifikalar hakkında SSL sertifikaları: ücretsiz ve ücretli yazısına bakın.
- Ziyaretçinin gerçek IP'sini sunucuya iletin. Aksi halde günlükler, istek sıklığı sınırları ve fail2ban yalnızca CDN'in adreslerini görür. CDN adresi bir başlıkta iletir; web sunucusunu bu başlığa yalnızca CDN adreslerinden geldiğinde güvenecek şekilde ayarlamak gerekir.
- Hedef kitleniz için düğümleri kontrol edin. CDN'in düğüm haritasına bakın ve ziyaretçilerinizin bulunduğu bölgelerden gecikmeyi ölçün. Hedef kitlenin yakınında düğümü olmayan bir CDN, sunucuya doğrudan erişimden daha yavaş olabilir.