CDN Kurallarıyla Performansı İyileştirme
HTTP'yi HTTPS'ye yönlendirmek, güvenlik üst bilgileri eklemek ve içeriğinize belirli ülkelerden erişimi sınırlandırmak için coğrafi filtreleme uygulamak üzere kural motorunu kullanın.
CDN Kurallarıyla Performansı İyileştirme, CoddyKit'te ücretsiz bir Azure Fundamentals dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Azure Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Azure Fundamentals kursu toplamda 4 dersten oluşur.
Kural Altyapısı Neden Önemlidir
Azure Front Door'ın kural altyapısı (Standard/Premium'da Rule sets olarak adlandırılır), HTTP isteklerini ve yanıtlarını önbelleğe alınmadan veya kaynağa iletilmeden önce uç PoP'ta yakalayıp değiştirmenizi sağlar. Kural altyapısı olmadan HTTP'den HTTPS'ye yeniden yönlendirme, güvenlik yanıtı üst bilgileri ve coğrafi engelleme gibi görevleri kaynak uygulamanızın kodu içinde ele almanız gerekirdi — bu da gecikme ekler ve güvenlik kaygılarını iş mantığıyla sıkı biçimde bağlardı. Uçtaki kurallar daha hızlı çalışır ve kaynak üzerindeki yükü azaltır.
HTTP'den HTTPS'ye Yeniden Yönlendirme
En yaygın kural altyapısı kullanım alanlarından biri HTTPS'yi zorunlu kılmaktır. Bir istemci sitenizi HTTP üzerinden istediğinde Front Door ucundaki bir yeniden yönlendirme kuralı, istek kaynağa hiç ulaşmadan HTTPS URL'sini gösteren 301 Moved Permanently (veya 302 Found) yanıtını hemen döndürür. Bu yöntem, kaynak tarafındaki yeniden yönlendirmelerden daha hızlıdır ve tüm trafiğin aktarım sırasında şifrelenmesini sağlar. Bunu, RequestScheme koşulunun HTTP'ye eşit olduğu isteklerde yeniden yönlendirme eylemi olarak yapılandırın.
// Rules engine rule — redirect HTTP to HTTPS
// Match condition: RequestScheme Equals HTTP
// Action: URL Redirect
// Redirect type: Moved (301)
// Destination protocol: HTTPS
// Destination host: {http.request.host}
// Destination path: {http.request.uri.path}
// Query string: {http.request.uri.querystring}Güvenlik Yanıtı Üst Bilgileri Ekleme
Modern tarayıcılar yaygın saldırıları önleyen HTTP güvenlik üst bilgilerini destekler. Kaynak sunucunuzu değiştirmeden, kural altyapısındaki yanıt üst bilgisi ekleme eylemleriyle bu üst bilgileri tüm yanıtlara ekleyebilirsiniz. Önemli üst bilgiler şunlardır: Strict-Transport-Security (HTTPS'yi belirli bir süre zorunlu kılar), X-Content-Type-Options: nosniff (MIME içeriği tahminini önler), X-Frame-Options: DENY (tıklama hırsızlığını önler) ve Content-Security-Policy (içerik kaynaklarını sınırlar). Bunları uçta eklemek, tüm kaynaklarda tutarlı biçimde uygulanmalarını sağlar.
// Rules engine — add security headers to all responses
// Action 1: Append response header
// Header name: Strict-Transport-Security
// Value: max-age=31536000; includeSubDomains
// Action 2: Append response header
// Header name: X-Content-Type-Options
// Value: nosniff
// Action 3: Append response header
// Header name: X-Frame-Options
// Value: DENYKural Başına Önbellek Ayarlarını Geçersiz Kılma
Kural altyapısı, belirli URL kalıpları için varsayılan önbellek TTL değerini geçersiz kılmanıza olanak tanır. Örneğin /static/images/* yolunu 30 gün, /api/* yanıtlarını ise yalnızca 60 saniye önbelleğe almak isteyebilirsiniz. RequestUri üzerinde bir eşleştirme koşulu ve özel bir önbellek süresi belirleyen Route yapılandırmasını geçersiz kılma eylemi kullanın. Böylece her içerik türü için ayrı rotalar oluşturmanıza gerek kalmadan önbellek davranışını ayrıntılı biçimde denetleyebilirsiniz.
// Rules engine — cache API responses for 60 seconds
// Match condition: RequestUri BeginsWith /api/
// Action: Route configuration override
// Cache: Enabled
// Caching duration: 0 days, 0 hours, 1 minute
// Query string caching: Include All
// Rules engine — cache static images for 30 days
// Match condition: RequestUri BeginsWith /static/images/
// Action: Route configuration override
// Cache: Enabled
// Caching duration: 30 daysUçta URL Yeniden Yazma
URL yeniden yazma eylemleri, istemcinin gördüğü URL'yi değiştirmeden, isteğin kaynağa iletilmesinden önce istek URL'sini değiştirir. Bu, istekleri bir URL yapısından farklı bir arka uç yoluna göndermek için kullanışlıdır. Örneğin istemci bağlantılarını güncellemeden bir arka uç API değişikliğine uyum sağlamak için /products/item/{id} yolunu /catalog/v2/products/{id} olarak yeniden yazabilirsiniz. URL yeniden yazma, kural altyapısında dize değiştirme veya yakalama grupları kullanarak URL path'i değiştiren bir eylemdir.
Coğrafi Filtreleme Kuralları
Kural altyapısı düzeyinde coğrafi filtreleme, istemcinin IP'sinden türetilen coğrafi konuma göre belirli ülkelerdeki kullanıcıları yeniden yönlendirmenize veya engellemenize olanak tanır. 403 döndüren CDN coğrafi filtrelemesinin aksine, kural altyapısı coğrafi filtrelemesi size daha fazla esneklik sunar — engellenen ülkeleri bölgesel kullanılabilirliği açıklayan bir açılış sayfasına yönlendirebilir veya belirli ülkeleri bölgeye özgü kaynak gruplarına yönlendirebilirsiniz (ör. GDPR uyumluluğu için AB kullanıcılarını AB kaynaklarına). RemoteAddress coğrafi eşleştirmesi, MaxMind'ın IP'den ülkeye veritabanını kullanır.
İstek Üst Bilgilerini Değiştirme
Kural altyapısı, kaynağa iletmeden önce istek üst bilgilerini ekleyebilir, üzerine yazabilir veya silebilir. Yaygın bir kullanım, kaynağın isteklerin Front Door üzerinden geldiğini bilmesi ve bunları doğrulayabilmesi için X-Forwarded-For veya X-Front-Door-Id gibi özel bir üst bilgi eklemektir. Ayrıca özgün Host üst bilgisini silebilir ve yerine kaynak ana bilgisayar adını yazabilirsiniz — bu, kaynak Host üst bilgisini doğruladığında önemlidir. Böylece kaynak sunucusunun görebileceği bilgiler üzerinde tam denetim sahibi olursunuz.
İstek Üst Bilgilerine Göre Yönlendirme
Kural altyapısı koşulları istek üst bilgisi değerleriyle eşleşebilir ve gelişmiş yönlendirme mantığı sağlar. Örneğin X-API-Version: 2 üst bilgisini içeren istekleri v2 API'sini çalıştıran farklı bir kaynak grubuna yönlendirirken, bu üst bilgiye sahip olmayan istekleri v1 kaynağına gönderebilirsiniz. Bu, her API sürümü için ayrı ana bilgisayar adları gerektirmeden uçta mavi-yeşil API sürüm oluşturmayı mümkün kılar. Üst bilgi tabanlı yönlendirme, özel bir kullanıcı segmenti çerezine göre yönlendirme yaparak A/B testleri için de kullanılır.
Uçta Yanıtları Sıkıştırma
Front Door'daki yanıt sıkıştırma, metin tabanlı yanıtları (HTML, CSS, JavaScript, JSON) PoP'larda sunmadan önce gzip veya Brotli kullanarak sıkıştırır. Sıkıştırma, özellikle büyük JS paketlerinde etkilidir ve aktarım boyutunu %70'e kadar azaltır. Sıkıştırılacak MIME türlerini belirtip sıkıştırmayı rota ayarlarından etkinleştirin. Sıkıştırılmış içerik PoP'ta sıkıştırılmış biçimde önbelleğe alınır — böylece her varlık için yalnızca ilk istek sıkıştırmayı tetikler; sonraki isteklerde önbelleğe alınmış sıkıştırılmış dosya anında sunulur.
Kaynak Kalkanı
Kaynak Kalkanı, Front Door'ın PoP uç düğümleri ile kaynak arasına yerleştirdiği isteğe bağlı ek bir önbellekleme katmanıdır. Etkinleştirildiğinde, 100'den fazla uç PoP'ın her biri önbelleğe alınmamış içeriği kaynaktan bağımsız olarak istemek yerine, önbellek kaçırmalarının tümünü tek bir bölgesel kaynak kalkanı PoP'ına iletir — bu PoP da kaynağa iletir. Böylece içerik uç PoP'lar üzerinden dünya genelinde sunulmaya devam ederken kaynağa ulaşan istek sayısı ( kaynak yük boşaltma oranı olarak adlandırılır) önemli ölçüde azalır.
Front Door Explorer ile Kuralları Test Etme
Kural altyapısı değişikliklerini üretime almadan önce portalda bulunan tanılama ve test araçlarını kullanarak doğrulayın. Algılama modu WAF günlükleriyle birlikte kullanılan Diagnostic settings bölmesi, hangi kuralların eşleştiğini gösterir. Kural altyapısı için ayrıca bir hazırlama ortamına dağıtım yaptıktan sonra tarayıcının geliştirici araçlarında gerçek istek/yanıt üst bilgilerini inceleyebilir veya üretime geçmeden önce yanıt üst bilgilerinin ve yeniden yönlendirme davranışının beklendiği gibi olduğunu doğrulamak üzere belirli istekler göndermek için curl -v kullanabilirsiniz.
# Test HTTP-to-HTTPS redirect at the CDN/Front Door edge
curl -v -L http://myapp.azurefd.net/ 2>&1 | grep -E '< (HTTP|Location)'
# Expected output:
# < HTTP/1.1 301 Moved Permanently
# < Location: https://myapp.azurefd.net/Hızlı Kontrol
Bu derste ele alınan Microsoft Azure Temelleri (AZ-900) kavramlarını anlayıp anlamadığınızı sınayın.
Ders Özeti
Bu derste şunları öğrendiniz: Front Door kural altyapısı, kaynakta değişiklik yapmadan uçta HTTP'den HTTPS'ye yeniden yönlendirmeleri, güvenlik yanıtı üst bilgilerini ve önbellek TTL geçersiz kılmalarını yönetir; URL yeniden yazma, kaynağa iletilen istek yollarını istemci bunu fark etmeden değiştirirken URL yeniden yönlendirme, istemcinin gördüğü URL'yi değiştirir ve Kaynak Kalkanı, önbellek kaçırması isteklerini bölgesel bir kalkan düğümünde birleştirerek kaynak üzerindeki yükü azaltır. Sırada uygulamalarınıza zekâ eklemek için Azure AI Hizmetleri'ni inceleyeceğiz.
Sıkça Sorulan Sorular
“CDN Kurallarıyla Performansı İyileştirme” dersi ücretsiz mi?
Evet — “CDN Kurallarıyla Performansı İyileştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Azure Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Azure Fundamentals kursu toplamda 4 dersten oluşur.
“CDN Kurallarıyla Performansı İyileştirme” dersinde ne öğreneceğim?
HTTP'yi HTTPS'ye yönlendirmek, güvenlik üst bilgileri eklemek ve içeriğinize belirli ülkelerden erişimi sınırlandırmak için coğrafi filtreleme uygulamak üzere kural motorunu kullanın. Azure Fundamentals ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Azure Fundamentals öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Azure Fundamentals, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“CDN Kurallarıyla Performansı İyileştirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Azure Fundamentals dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Azure Fundamentals dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Azure CDN Profilleri ve Uç Noktaları
- Azure Front Door: Küresel Yük Dengeleme
- Front Door'da Web Uygulaması Güvenlik Duvarı
- CDN Kurallarıyla Performansı İyileştirme