Loading...

CDN.com.tr Yardım

Origin bağlantısı: gerçek ziyaretçi IP'si, origin'i kilitleme, WebSocket ve zaman aşımı

Uç sunucular ziyaretçinin IP adresini X-CDN-Client-IP başlığıyla iletir. Kaynak sunucunuzu her kurala yazdığınız gizli bir başlıkla yalnız CDN'e açın. WebSocket ve uzun süren istekler için kural başına ayar yapın.

Origin bağlantısı: gerçek ziyaretçi IP'si, origin'i kilitleme, WebSocket ve zaman aşımı

Uç sunucular ziyaretçinin IP adresini X-CDN-Client-IP başlığıyla iletir. Kaynak sunucunuzu her kurala yazdığınız gizli bir başlıkla yalnız CDN'e açın. WebSocket ve uzun süren istekler için kural başına ayar yapın.

Kullanım senaryoları

Kendi sunucusunda oturum açılan bir web uygulaması çalıştıran bir ekip, uygulamanın önüne CDN ve WAF koyuyor. Kayıtlarda gerçek ziyaretçi IP'sini görmek, CDN dışından gelen istekleri reddetmek ve WebSocket bağlantılarını korumak istiyor.

Akış

  1. Uygulamanızın gerçek ziyaretçi IP'sini X-CDN-Client-IP başlığından okumasını sağlayın.
  2. Uzun ve rastgele bir değer üretin. Hesabınızdaki her yayınlama kuralının Kaynak sunucuya gönderilen başlıklar alanına aynı satırı yazın, örneğin X-CDN-Auth <değer>.
  3. Başlık tüm kurallarda yayına girdikten ve alan adınız CDN'e yönlendikten sonra kaynak sunucunuzda bu başlığı taşımayan istekleri reddedin.
  4. WebSocket kullanan yollar için ayrı bir kural oluşturup WebSocket bağlantılarına izin ver seçeneğini açın. Uzun süren istekler için Kaynak yanıt zaman aşımı (saniye) değerini artırın.
  5. API'niz PUT, PATCH veya DELETE kullanıyorsa bu yöntemleri WAF: İzin verilen HTTP metotları listesine ekleyin.

Kontroller

  • Gerçek ziyaretçi IP'si X-CDN-Client-IP başlığıyla gelir. Başlık tek bir değer içerir ve uç sunucu tarafından her istekte yeniden yazılır; ziyaretçinin gönderdiği aynı adlı başlık kullanılmaz. Değer bir IPv6 adresi de olabilir.
  • Uç sunucular ayrıca X-Real-IP ve X-Forwarded-For gönderir. X-Forwarded-For kullanıyorsanız ilk değeri değil, en sağdaki değeri kullanın; soldaki değerleri ziyaretçi kendisi yazabilir.
  • Kaynak sunucuya gönderilen başlıklar kural bazındadır: her satıra bir başlık, Başlık-Adı değer biçiminde. Yeni bir kural eklediğinizde gizli başlığı ona da yazın; yazmazsanız o kuralın istekleri kaynak sunucunuzda reddedilir.
  • Gizli başlığın değeri yalnız harf ve rakamlardan oluşan, en az 32 karakterlik rastgele bir değer olsun. Kaynak sunucunuza HTTPS ile bağlanan kurallarda başlık şifreli gider.
  • Kaynak sunucunuzu yalnız IP listesiyle kilitlemek yerine gizli başlığı esas alın. Hesabınıza bağlı uç sunucuların güncel adreslerini talep ettiğinizde bildiririz.
  • WebSocket bağlantılarına izin ver açık olan kuralda bağlantılar kaynak sunucunuza ulaşır ve veri aktıkça açık kalır; bu yoldaki yanıtlar önbelleğe alınmaz. Görselleri optimize eden bir kuralda WebSocket açılamaz, bu yüzden WebSocket yolu için ayrı bir kural oluşturun.
  • Kaynak yanıt zaman aşımı varsayılan olarak 60 saniyedir: kaynak sunucunuz 60 saniye boyunca veri göndermezse istek 504 hatasıyla biter ve boşta kalan WebSocket bağlantısı kapanır. Bu süreyi kural başına 1 ile 3.600 saniye arasında ayarlayabilirsiniz. Veri aktığı sürece bağlantının toplam süresine bir sınır yoktur.
  • Managed Container uygulamalarınızın alan adında WebSocket varsayılan olarak açıktır ve zaman aşımı, kural başka bir değer belirtmedikçe 300 saniyedir.
  • WAF açıkken varsayılan olarak GET, HEAD, POST ve OPTIONS yöntemlerine izin verilir. JavaScript doğrulaması yalnız tarayıcıdan gelen sayfa isteklerine uygulanır ve API isteklerini etkilemez.

Sık sorulan sorular

Gizli başlığı Apache veya nginx'te nasıl denetlerim?

Apache'de .htaccess dosyasının en başına RewriteEngine On, RewriteCond %{HTTP:X-CDN-Auth} !=<değer> ve RewriteRule ^ - [F] satırlarını ekleyin. nginx'te sunucu bloğuna if ($http_x_cdn_auth != "<değer>") { return 403; } ekleyin. Denetimi en son açın: önce başlık tüm kurallarda yayında olsun ve alan adınız CDN'e yönlensin.

WebSocket destekleniyor mu?

Evet. WebSocket kullanan yol için bir kural oluşturup WebSocket bağlantılarına izin ver seçeneğini açın. Bağlantı kaynak sunucunuza ulaşır ve veri aktıkça açık kalır; bu yolda önbellek kullanılmaz.

Bir istek en fazla ne kadar açık kalabilir?

Veri aktığı sürece toplam süreye bir sınır yoktur. Sınır, veri akışı olmadan beklenen süredir: varsayılan olarak 60 saniye. Bu süreyi kuralın Kaynak yanıt zaman aşımı (saniye) alanından 3.600 saniyeye kadar artırabilirsiniz.

Ziyaretçinin gerçek IP'sini nereden okurum?

X-CDN-Client-IP başlığından. Uç sunucu bu başlığı her istekte kendisi yazar ve ziyaretçinin gönderdiği aynı adlı başlığı kullanmaz. X-Forwarded-For kullanacaksanız en sağdaki değeri alın.

İlgili sayfalar

Edge'de HTTP/3 ve IPv6

Eylül 2026'dan beri CDN.com.tr edge'i her hostname'i HTTP/2 ve IPv4'e ek olarak HTTP/3 (QUIC) ve IPv6 ile de sunar. Tarayıcılar kendiliğinden geçer; hesap bazında ayar yoktur ve origin'iniz yalnız IPv4 kalabilir.