İçeriğe atla
Cloudflare Wiki

    gez · aç · Esc kapat

    Spectrum

    HTTP olmayan TCP/UDP servislerini Cloudflare'in arkasına alır: origin IP'sini gizler, L3/L4 DDoS'u emer.

    • DurumGenel kullanımda
    • FiyatAylık veri kotası + GB başına aşım
    • Doğrulama

    Spectrum nedir?

    Spectrum, Cloudflare’in edge sunucularında çalışan küresel bir TCP ve UDP proxy’sidir. Resmî tanım:

    “Spectrum is a global TCP and UDP proxy running on Cloudflare’s edge nodes. It does not terminate the connection in the application-layer sense. However, at Layer 4, Spectrum does terminate the TCP and UDP sockets in both directions. The L4 payloads of TCP segments and UDP datagrams are passed back and forth as-is, without modifications.”

    Çözdüğü şey iki tane, ve yalnızca iki tane: origin IP’sini gizlemek ve hacimsel saldırıları emmek. Kimin bağlandığı, ne gönderdiği, isteğin meşru olup olmadığı konusunda hiçbir şey söylemez.

    Tam TCP el sıkışması Cloudflare’de tamamlanır, origin’e ulaşmadan:

    “a proper TCP connection must be first established before traffic is proxied to the origin. This moves any impact of SYN or SYN-ACK reflection attacks to the Cloudflare global network.”

    Güvenlik denetiminde “tüm portlarda dinliyor” uyarısı çıkarsa cevabı da dokümanda:

    “Spectrum will only proxy connections from edge ports that are specifically configured within Cloudflare… If no application is configured, the connection is immediately terminated and no origin connection will be opened.”

    Nasıl çalışır?

    Origin tanımlamanın üç yolu

    AlanNe yaparPlan
    origin_directDoğrudan IP: ["tcp://192.0.2.1:22"]Her plan
    origin_dns + origin_portHostname üzerinden. Kayıt tipleri: “A, AAAA, SRV and empty”Enterprise
    virtual_network_idCloudflare Tunnel sanal ağı arkasında özel origin

    Port aralıkları

    {
      "protocol": "tcp/1000-2000",
      "dns": { "type": "CNAME", "name": "range.example.com" },
      "origin_direct": ["tcp://192.0.2.1:3000-4000"]
    }

    “a connection to range.example.com:1005 would be proxied to port 3005 on the origin”

    Edge aralığı ile origin aralığı aynı sayıda port içermeli.

    Sanal ağ origin’i — public IP’siz origin

    Yeni ve işe yarar bir seçenek, ama kısıtları sert:

    • Yalnızca TCP ve UDP; HTTP/HTTPS desteklemiyor
    • origin_direct ile belirtilmeli, origin_dns çalışmıyor
    • Tam olarak tek adres, tek port; aralık yok
    • Proxy Protocol desteklenmiyorproxy_protocol off olmalı

    Yani public IP’den kurtulursun ama gerçek istemci IP’sinden vazgeçersin.

    Edge IP’leri sabit değil

    “The addresses are not static, and they may change over time. The best way to look up the current addresses is by using DNS.”

    “The addresses are anycasted from all Cloudflare data centers, with the exception of data centers in China.”

    Plan tablosu — en büyük tuzak

    Resmî tablo (son güncelleme 14 Ağustos 2026):

    FreeProBusinessEnterprise
    KullanılabilirlikHayırÜcretli eklentiÜcretli eklentiEvet
    TCPHayırHayırHayırÜcretli eklenti
    UDPHayırHayırHayırÜcretli eklenti
    HTTPHayırHayırHayırÜcretli eklenti
    HTTPSHayırHayırHayırÜcretli eklenti
    Minecraft (tek uygulama)HayırEvetEvetEvet
    SSH (tek uygulama)HayırEvetEvetEvet
    RDP (tek uygulama)HayırHayırEvetEvet

    Okunuşu şöyle:

    • Free planda Spectrum yok.
    • Pro: yalnızca Minecraft ve SSH, birer uygulama. Rastgele TCP portu yok.
    • Business: üstüne RDP. Hâlâ rastgele TCP portu yok.
    • Enterprise: her şey — ama genel TCP/UDP bile Enterprise’ın üstüne alınan bir eklenti.

    Get-started sayfası bunu doğruluyor: “Pro and Business support selected protocols only, whereas Enterprise supports all TCP and UDP based traffic.”

    İzin verilen tam port kümesi yayımlanmıyor. API çalışma anında söylüyor: 13002 — Protocol not available. The requested protocol is not available for the zone.

    Enterprise-only alanlar

    origin_dns · origin_port · proxy_protocol · ip_firewall · tls · argo_smart_routing

    11004 … Pay-as-you-go accounts are limited to protocol, dns, and origin_direct when creating or updating a Spectrum application.”

    Proxy Protocol — gerçek istemci IP’si

    “Because Cloudflare intercepts packets before forwarding them to your server, if you were to look up the client IP, you would see Cloudflare’s IP rather than the true client IP.”

    “For TCP, Spectrum supports adding Proxy Protocol v1, which is the human readable version supported by Amazon ELB and NGINX. For UDP applications, Cloudflare has developed a custom proxy protocol called Simple Proxy Protocol.”

    v1 formatı:

    PROXY TCP4 192.0.2.0 192.0.2.255 42300 443\r\n
    PROXY TCP6 2001:db8:: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff 42300 443\r\n

    v2 ikili biçimde, TCP ve UDP için. UDP’de yalnızca akıştaki ilk datagram’a eklenir.

    Simple Proxy Protocol’ün çift yönlü yükümlülüğü çok atlanıyor:

    “Simple Proxy Protocol dictates that your origin must also prepend packets meant for the client with the same header, including original client source information.”

    Bir uyarı daha: “Proxy Protocol is not supported for Spectrum egresses to Cloudflare WAN.”

    Sunucu tarafında PROXY başlığını kim ayrıştıracak?

    sshd ve minecraft-server PROXY protokolünü anlamaz. Kendi makinende bir ön uç koyarsın.

    HAProxy, sshd’nin önünde:

    listen ssh_pp
        bind 0.0.0.0:2222 accept-proxy
        mode tcp
        server local 127.0.0.1:22

    NGINX stream modülü:

    stream {
        log_format basic '$proxy_protocol_addr -> $server_addr:$server_port';
        server {
            listen 8443 proxy_protocol;
            set_real_ip_from 173.245.48.0/20;   # Cloudflare aralıklarını tek tek ekle
            proxy_pass 127.0.0.1:443;
            access_log /var/log/nginx/stream.log basic;
        }
    }

    $proxy_protocol_addr gerçek istemci IP’sidir.

    TLS sonlandırma — yalnızca TCP uygulamalarında

    Değerler: off (varsayılan, “Passthrough”), flexible, full, strict.

    “‘Flexible’ enables termination of the client connection at the edge, but does not enable TLS from Cloudflare to your origin.”

    Desteklenen sürümler: TLS 1.1, 1.2, 1.3.

    Bir not daha: “Universal SSL is not compatible with Cloudflare Spectrum. Use either an advanced certificate or a custom certificate instead.”

    WAF uygulanmıyor

    İki ayrı resmî cümle aynı şeyi söylüyor:

    “Spectrum cannot convert an HTTP connection to HTTPS, add HTTP headers, or apply WAF rules to TCP traffic. To add Layer 7 functionality such as CDN, Workers, or Bot Management, set the application type to HTTP/HTTPS.”

    “Currently, custom rules do not work with Spectrum applications. Use IP Access rules to allowlist, block, and challenge traffic for Spectrum applications based on the request’s IP address, Autonomous System Number (ASN), or country.”

    Elinde kalan tek filtreleme IP Access Rules ve o da dar: yalnızca IP, CIDR, ülke ve ASN, yalnızca allow ve block. Üstelik ip_firewall alanı Enterprise-only.

    Nüansı kaçırma: uygulama tipini HTTP/HTTPS yaparsan trafik Cloudflare’in normal hattından geçer ve WAF, CDN, Workers, Bot Management devreye girer. Bypass eden şey TCP/UDP uygulama tipidir.

    Loglar ve durum kodları

    Loglar Logpush’ta ayrı bir dataset’te: spectrum_events“they are not part of HTTP log events.”

    Ne zaman kullanılır, ne zaman kullanılmaz

    Kullanılır

    • HTTP olmayan bir servisi internete açmak zorundaysan ve origin IP’sinin görünmesini istemiyorsan.
    • Hacimsel saldırı hedefiysen. SYN flood etkisi Cloudflare’in ağında kalır.
    • Coğrafi olarak dağınık kullanıcıların varsa — Argo ile birlikte yol optimizasyonu devreye girebilir (Enterprise).
    • Zaten Cloudflare’desin ve tek bir SSH veya oyun sunucusu için ayrı bir DDoS koruma sağlayıcısı eklemek istemiyorsan.

    Kullanılmaz

    WAF, bot yönetimi, cache veya rate limiting gerekiyorsa. TCP uygulaması bunların hiçbirini vermiyor. HTTP servisi ise zaten normal CDN yolu daha doğru.

    Sadece health check, failover ve steering gerekiyorsa. Bu durumda tek başına bir load balancer daha doğru ve daha ucuz. Spectrum’un ayırt edici değeri origin IP gizleme ve L3/4 DDoS emme. Origin IP’n zaten özelse veya servis iç ağdaysa, Spectrum bir hop ve bir fatura ekler. Ayrıntı için Load Balancing.

    Bütçeyle UDP gerekiyorsa. Enterprise-only, sert durak.

    Gerçek istemci IP’si gerekiyorsa ve Enterprise değilsen. Proxy Protocol yok demek, IP tabanlı ban, oran sınırlama ve adli inceleme yok demek.

    TLS 1.2 tabanı veya şifre takımı kontrolü gerekiyorsa TCP uygulamasında.

    Origin’in özel ve HTTP olmayan bir servisse. Tunnel doğrudan çalışmıyor; iki dolambaçlı yol var ve ikisi de Proxy Protocol’ü feda ediyor.

    Sabit IP gerekiyorsa. Varsayılan adresler değişebiliyor.

    Çin’e hizmet veriyorsan. Spectrum IP’leri Çin veri merkezlerinden anycast edilmiyor.

    Pro veya Business’ta ayda 5–10 GB’ın üstüne çıkacaksan. GB başına $1, faturanı hızla ele geçirir.

    Somut örnekler

    SSH bastion — Pro planında çalışan asgari config

    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/spectrum/apps" \
      --request POST \
      --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
      --json '{
        "protocol": "tcp/22",
        "dns": { "type": "CNAME", "name": "ssh.ornek.com.tr" },
        "origin_direct": ["tcp://192.0.2.1:22"]
      }'

    Pay-as-you-go hesaplar yalnızca bu üç alanı gönderebilir. Dördüncü bir alan eklersen 11004 hatası alırsın.

    Enterprise’da gerçek istemci IP’si ve Argo ile

    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/spectrum/apps" \
      --request POST \
      --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
      --json '{
        "protocol": "tcp/22",
        "dns": { "type": "CNAME", "name": "ssh.ornek.com.tr" },
        "origin_direct": ["tcp://192.0.2.1:2222"],
        "proxy_protocol": "v1",
        "ip_firewall": true,
        "tls": "full",
        "edge_ips": { "type": "dynamic", "connectivity": "all" },
        "traffic_type": "direct",
        "argo_smart_routing": true
      }'

    Token yetkisi: Zone Settings Write.

    IoT filosu için MQTT broker, port aralığıyla

    {
      "protocol": "tcp/8883-8890",
      "dns": { "type": "CNAME", "name": "mqtt.ornek.com.tr" },
      "origin_dns": { "type": "A", "name": "mqtt-origin.ornek.com.tr", "ttl": 1200 },
      "origin_port": "18883-18890",
      "tls": "strict",
      "proxy_protocol": "v2"
    }

    Sekiz edge portu, sekiz origin portuna sırayla eşlenir. tls: "strict" origin sertifikasını doğrular — IoT’de sık atlanan bir ayar.

    Public IP’si olmayan veritabanı

    {
      "protocol": "tcp/5432",
      "dns": { "type": "CNAME", "name": "pg.ornek.com.tr" },
      "origin_direct": ["tcp://10.0.0.5:5432"],
      "virtual_network_id": "f70ff985-a4ef-4643-bbbc-4a0ed4fc8415",
      "proxy_protocol": "off"
    }

    Veritabanı sunucusunun public IP’si hiç olmuyor. Bedeli: proxy_protocol zorunlu olarak off, yani PostgreSQL loglarında gerçek istemci IP’sini göremezsin.

    Citrix/VDI — bölünmüş hostname deseni

    Bir hostname’de hem elle oluşturulmuş proxy’li kayıt hem Spectrum uygulaması olamaz. Cloudflare’in kendi örneği ikiye bölüyor: web arayüzü citrix.ornek.com.tr üzerinden normal proxy’li kayıtla (CDN ve WAF devrede), ICA/HDX oturum trafiği citrix-ica.ornek.com.tr:4443 üzerinden Spectrum TCP uygulamasıyla.

    Demo 1: SSH’ı Spectrum arkasına almak ve gerçek IP’yi telde görmek

    Bu demo Enterprise gerektiriyor (proxy_protocol alanı için) ve yalnızca kendi sunucunda çalıştırılmalı.

    Adım 1 — Başlangıç durumunu kaydet

    Sunucuda:

    sudo journalctl -u ssh -n 20 --no-pager | grep 'Accepted'

    İstemcide kendi public IP’ni not et:

    curl -s https://1.1.1.1/cdn-cgi/trace | grep '^ip='
    journalctl çıktısındaki Accepted satırları ve curl ile alınan kendi public IP adresin — ikisi eşleşmeli

    Adım 2 — PROXY protokolünü ayrıştıracak ön ucu kur

    sshd bunu yapamaz; araya HAProxy koyuyoruz.

    listen ssh_pp
        bind 0.0.0.0:2222 accept-proxy
        mode tcp
        option tcplog
        server local 127.0.0.1:22
    sudo systemctl restart haproxy && sudo ss -tlnp | grep 2222
    ss -tlnp çıktısında 0.0.0.0:2222 üzerinde LISTEN durumundaki haproxy süreci

    Adım 3 — Spectrum uygulamasını oluştur

    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/spectrum/apps" \
      --request POST \
      --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
      --json '{
        "protocol": "tcp/22",
        "dns": { "type": "CNAME", "name": "ssh.ornek.com.tr" },
        "origin_direct": ["tcp://192.0.2.1:2222"],
        "proxy_protocol": "v1",
        "tls": "off",
        "edge_ips": { "type": "dynamic", "connectivity": "all" },
        "traffic_type": "direct"
      }'
    curl çıktısı; uygulama id'si ve atanan edge_ips değerleri
    Cloudflare panelinde Spectrum bölümü; oluşturulan uygulama, protokolü ve atanmış edge IP'leri

    Adım 4 — Origin’in DNS’ten kaybolduğunu doğrula

    dig +short ssh.ornek.com.tr
    dig çıktısı; Cloudflare anycast adresleri, origin IP'si görünmüyor

    Adım 5 — PROXY başlığını telde yakala

    Sunucuda dinlemeye başla:

    sudo tcpdump -i any -A -n 'tcp port 2222' -c 5

    İstemciden bağlan: ssh -p 22 kullanici@ssh.ornek.com.tr

    tcpdump çıktısında 'PROXY TCP4 <senin-ip> <cloudflare-ip> <port> 22' satırı; ilk alan adım 1'de not ettiğin IP olmalı

    Bu, demonun karar anı: PROXY TCP4 satırındaki ilk IP, adım 1’de cdn-cgi/trace ile aldığın kendi adresinle birebir aynı olmalı.

    Adım 6 — HAProxy’nin gerçek istemciyi logladığını doğrula

    sudo tail -5 /var/log/haproxy.log
    haproxy.log satırlarında Cloudflare IP'si değil, gerçek istemci IP'si

    Adım 7 — Negatif kontrol

    proxy_protocol alanını "off" yap ve tekrar bağlan.

    HAProxy'nin accept-proxy beklerken PROXY başlığı gelmediği için bağlantıyı reddettiği log satırı

    Bu adım, başlığın gerçekten işi yaptığını kanıtlıyor — yoksa “zaten çalışıyordu” şüphesi kalır.

    Bu demoda ölçülenler: origin IP’sinin DNS’ten kaybolması · PROXY başlığındaki istemci IP’sinin gerçek adresle eşleşmesi · HAProxy loglarındaki kaynak IP değişimi · Proxy Protocol kapatıldığında bağlantının davranışı.

    Demo 2: Origin gizlemenin tek başına yetmediğini kanıtlamak

    Bu demo bir güvenlik dersi veriyor ve sonucu çoğu ekibin beklediğinden farklı.

    Adım 1 — Başlangıç durumu

    dig +short ssh.ornek.com.tr          # origin IP'n görünüyor
    nc -vz 192.0.2.1 22                  # her yerden başarılı
    dig çıktısında origin IP'si ve nc komutunun başarılı bağlantı kurduğu çıktı

    Adım 2 — Spectrum uygulamasını oluştur

    Demo 1 adım 3’teki komut. Ardından dig +short ssh.ornek.com.tr artık Cloudflare adreslerini döndürür.

    Adım 3 — Kritik test: origin hâlâ erişilebilir mi?

    Spectrum kurulu, DNS temiz. Şimdi ilgisiz bir makineden:

    nc -vz 192.0.2.1 2222
    nc komutunun HÂLÂ başarılı bağlantı kurduğu çıktı — bu demonun asıl bulgusu

    Bağlantı kuruluyor. Spectrum IP’yi DNS’ten sildi ama origin’i kapatmadı. Saldırgan IP’yi başka bir yoldan öğrenirse — eski bir DNS kaydı, sertifika şeffaflık logu, bir e-posta başlığı, bir hata sayfası — doğrudan bağlanır ve tüm koruma devre dışı kalır.

    Adım 4 — Origin firewall’unu Cloudflare aralıklarına kısıtla

    sudo ufw default deny incoming
    for cidr in $(curl -s https://www.cloudflare.com/ips-v4); do
      sudo ufw allow from $cidr to any port 2222 proto tcp
    done
    sudo ufw enable && sudo ufw status numbered
    ufw status numbered çıktısı; yalnızca Cloudflare CIDR'lerine 2222 portunda izin verilmiş

    Adım 5 — Doğrudan erişimin kapandığını doğrula

    nc -vz 192.0.2.1 2222        # ilgisiz bir makineden
    ssh -p 22 kullanici@ssh.ornek.com.tr   # Cloudflare üzerinden
    İlk komutun zaman aşımına uğradığı, ikinci komutun başarıyla bağlandığı iki çıktı yan yana

    Güvenlik faydasını gerçekten sağlayan adım budur. Spectrum IP’yi gizler; erişimi yalnızca senin firewall’un kapatır.

    Adım 6 — IP Access Rules’u aç ve engellemenin nerede göründüğünü öğren

    Uygulamada ip_firewall: true ayarla, sonra panelde Security → IP Access Rules altında bir test bloğu ekle (örneğin belirli bir ASN veya ülke).

    Security → IP Access Rules ekranı; oluşturulan block kuralı ve kapsamı

    Eşleşen bir kaynaktan bağlanmayı dene, sonra iki yere bak:

    Logpush spectrum_events dataset'inde durum kodu 403 olan kayıt
    Network Analytics ekranı; IP Access Rule engellemesinin burada yansımadığı

    İkincisinin boş olması demonun öğretici kısmı. Resmî ifade: “Network analytics data for Spectrum does not reflect the outcomes of IP Access rules.” Bu ayrımı bilmeyen ekipler kuralın çalışmadığını sanıp saatlerce uğraşıyor.

    Bu demoda ölçülenler: DNS’te origin IP’sinin görünürlüğü · Spectrum sonrası doğrudan erişimin hâlâ açık olması · firewall sonrası doğrudan erişimin kapanması · engellenen bağlantının spectrum_events’te 403 olarak görünmesi · aynı olayın Network Analytics’te görünmemesi.

    Fiyatlandırma

    Plan bazlı veri kotası

    ProtokolProBusiness
    SSH5 GB aylık kota, $1/GB aşım10 GB aylık kota, $1/GB aşım
    Minecraft5 GB, $1/GB10 GB, $1/GB
    RDP— (Pro’da yok)10 GB, $1/GB
    Diğer tüm TCP/UDP

    Plan fiyatları: Free $0/ay · Pro $20/ay (yıllık ödemede; aylık $25) · Business $200/ay (yıllık; aylık $250) · Contract özel, yıllık faturalanır.

    Uygulama kotası

    11034 — Cannot create more applications for protocol. Pay-as-you-go accounts are limited to one application per protocol.”

    Bir de adresleme kotası var: 12005 — IPv4 quota limit. Çözümleri, birden fazla uygulamayı tek hostname’de farklı portlarla birleştirmek, ek Cloudflare IP’si satın almak veya BYOIP.

    Enterprise için sayısal bir uygulama tavanı yayımlanmamıştır.

    Diğer kısıtlar

    ÖğeDurum
    UDP parçalanma“If packets are fragmented, they will be dropped at Cloudflare’s edge.”
    HTTP/3“At the moment, HTTPS applications do not support HTTP/3.”
    Universal SSLUyumlu değil — advanced veya custom sertifika gerekiyor
    Ters DNS (rDNS)“Spectrum applications do not have reverse DNS entries.”
    MX kaydıSpectrum hostname’inde MX varsa mesajlar reddedilebilir
    ÇinSpectrum IP’leri Çin veri merkezlerinden anycast edilmiyor

    Lisanslama ve hukuki çerçeve

    Hizmet tescillidir ve Cloudflare Hizmet Şartları’na tabidir.

    Uyumluluk açısından en önemli nokta TLS tabanıdır. TCP tipi bir Spectrum uygulamasında minimum TLS sürümü 1.1’de sabittir ve şifre takımları değiştirilemez. PCI DSS, bir kurumsal güvenlik politikası veya bir kamu ihale şartnamesi TLS 1.2 tabanı istiyorsa, bu yapılandırmayla o şartı karşılayamazsın. Çözüm HTTPS tipi bir uygulamaya geçmek — ama o da Enterprise eklentisi.

    Veri açısından Spectrum L4 payload’ını değiştirmeden geçirir; içeriği ayrıştırmaz. Ancak bağlantı metadatası (kaynak IP, port, zaman, aktarılan byte, durum kodu) spectrum_events olarak loglanır. Kişisel veri değerlendirmesinde bu metadatayı hesaba katman gerekir.

    Veri yerelliği açısından dikkat edilecek bir nokta var: Data Localization Suite’te Türkiye Regional Services bölgesi olarak destekleniyor, ama dipnot şunu söylüyor — “Only applies to HTTP/S Spectrum applications. Spectrum applications use a separate regionalization mechanism from the Regional Hostnames API… Contact your Account Team for Spectrum-specific regionalization.” Yani TCP tipi bir Spectrum uygulaması self-servis olarak Türkiye’ye bölgeselleştirilemez.

    Origin firewall’u bir uyumluluk gereğidir, tercih değil. Demo 2’de gösterildiği gibi Spectrum tek başına doğrudan erişimi kapatmaz. “Cloudflare arkasındayız” ifadesini bir denetimde kullanabilmen için origin’in yalnızca Cloudflare aralıklarını kabul ettiğini de göstermen gerekir.

    Sık yapılan hatalar

    “Cloudflare supports all TCP ports” cümlesini plan hakkı sanmak. Bu, Spectrum dokümantasyonunun en yanıltıcı satırı.

    TCP uygulamasında WAF, bot yönetimi veya rate limiting beklemek. Hiçbiri çalışmaz.

    Pay-as-you-go hesaptan tam config göndermek. 11004 hatası; yalnızca protocol, dns ve origin_direct kabul ediliyor.

    Origin IP’sini sızdıran başıboş bir kayıt bırakmak. Proxy’lenmemiş tek bir A kaydı tüm çabayı boşa çıkarır.

    Origin firewall’unu Cloudflare aralıklarına kısıtlamamak. Bu listedeki en sonuç doğurucu hata. Spectrum IP’yi gizler, erişimi kapatmaz.

    TCP uygulamasının origin’ini başka bir Cloudflare-proxy’li hostname’e yöneltmek. Çift proxy oluşur; TLS el sıkışması başarısız olur ve hata 525 değil 521/522 olarak raporlanır.

    Aynı hostname’de hem elle kayıt hem Spectrum uygulaması olabileceğini sanmak. “An A, AAAA or CNAME record already exists with that host.” Çözüm hostname’i bölmek.

    Passthrough modunun HTTP’yi HTTPS’e yükselteceğini varsaymak.

    Proxy Protocol’ün Private Network LB veya sanal ağ origin’iyle çalışacağını sanmak. İkisinde de çalışmıyor.

    UDP’de Simple Proxy Protocol’ü açıp dönüş yolunda başlığı eklemeyi unutmak.

    IP Access Rules sonuçlarını Network Analytics’te aramak. Orada görünmüyor; spectrum_events loglarına bakılmalı.

    UDP paketlerini parçalamak. Edge’de düşürülüyorlar.

    Spectrum hostname’ine MX kaydı koymak.

    Sıkça sorulan sorular

    Pro planda rastgele bir TCP portu açabilir miyim?
    Hayır. Bu, Spectrum'un en büyük yanlış anlaşılması. Yapılandırma sayfasındaki “Cloudflare supports all TCP ports” cümlesi senin plan hakkını değil, Enterprise TCP yetkisini anlatıyor. Pro'da yalnızca Minecraft ve SSH, Business'ta bunlara RDP ekleniyor — her biri birer uygulama. Genel TCP/UDP/HTTP/HTTPS, Enterprise planının üstüne alınan ayrı bir eklenti.
    UDP kullanabilir miyim?
    Yalnızca Enterprise'da, ve orada da eklenti olarak. Bu tek satır çok şeyi kapatıyor: Minecraft Bedrock (UDP 19132), oyun protokollerinin çoğu, QUIC, WireGuard ve DNS self-servis planlarda Spectrum üzerinden çalışmaz.
    Gerçek istemci IP'sini görebilir miyim?
    Yalnızca Enterprise'da, Proxy Protocol ile. Resmî ifade: “if you were to look up the client IP, you would see Cloudflare's IP rather than the true client IP.” proxy_protocol alanı Enterprise-only olduğu için Pro ve Business'ta her bağlantı bir Cloudflare IP'sinden gelmiş görünür. IP tabanlı ban, kullanıcı başına bağlantı kısıtı ve adli inceleme bu planlarda çalışmaz.
    WAF kurallarım TCP uygulamasında çalışır mı?
    Hayır. İki ayrı resmî ifade var: “Spectrum cannot… apply WAF rules to TCP traffic” ve “Currently, custom rules do not work with Spectrum applications.” Elinde kalan tek filtre IP Access Rules ve o da yalnızca IP, CIDR, ülke ve ASN üzerinden, yalnızca allow/block aksiyonlarıyla. Uygulama tipini HTTP/HTTPS yaparsan WAF, CDN, Workers ve Bot Management devreye girer — bypass eden şey TCP/UDP uygulama tipidir.
    TLS 1.2 zorunluluğum var, TCP uygulamasında ayarlayabilir miyim?
    Hayır. Resmî ifade: “If you need to control TLS settings, like the minimum TLS version or cipher suites, you need to use an HTTPS application. For TCP applications, default settings will apply. The minimum TLS version will be 1.1.” Varsayılan 22 şifre takımının içinde DES-CBC3-SHA gibi kalemler var. PCI veya kurumsal bir politika TLS ≥ 1.2 istiyorsa TCP tipi bir Spectrum uygulaması bu şartı karşılayamaz.
    Passthrough modunda origin'im 443'te dinliyor, bağlantı şifreli olur mu?
    Hayır — bu çok sık düşülen bir tuzak. Resmî ifade: “If Edge TLS Termination is set to off (Passthrough), Spectrum will not upgrade an HTTP connection to HTTPS, even if your origin listens on port 443.” Örnek de veriliyor: istemci 8012'ye HTTP ile bağlanır, origin 443'te yapılandırılmıştır, ve bağlantı 443 portuna HTTP olarak gider. Şifreleme istiyorsan Edge TLS Termination'ı açıp full veya strict seçmen gerekiyor.
    Origin IP'm tamamen gizlenir mi?
    DNS'ten gizlenir, erişimden gizlenmez. Spectrum IP'yi saklar ama doğrudan bağlantıyı engellemez. Saldırgan IP'ni başka bir yoldan öğrenirse (eski DNS kaydı, sertifika şeffaflık logu, e-posta başlığı) doğrudan bağlanabilir. Origin firewall'unu Cloudflare IP aralıklarına kısıtlamadıkça yaptığın iş yarım kalır. Demo 2 tam olarak bunu gösteriyor.
    Spectrum IP'lerim sabit mi?
    Hayır. Resmî ifade: “The addresses are not static, and they may change over time. The best way to look up the current addresses is by using DNS.” Sabit IP gerekiyorsa Static IP veya BYOIP yolları var, ikisi de API üzerinden ve Enterprise tarafında. Ayrıca adresler Çin veri merkezleri hariç tüm lokasyonlardan anycast ediliyor.
    Tunnel arkasındaki özel origin'ime TCP proxy yapabilir miyim?
    Doğrudan hayır. Resmî ifade: “Integrating Spectrum with Cloudflare Tunnel is only supported for HTTP/HTTPS applications” ve tünelin <UUID>.cfargotunnel.com adresini origin göstermek “is not a valid configuration and will not work.” İki yol var: araya Private Network Load Balancing koymak, ya da virtual_network_id origin'i kullanmak. İkisinde de Proxy Protocol çalışmaz — yani gerçek istemci IP'sinden vazgeçersin.
    Faturam ne kadar tutar?
    Pro'da ayda 5 GB, Business'ta 10 GB dahil; aşımı GB başına $1. Bu rakam bağlam gerektiriyor: Cloudflare Realtime'ın egress fiyatı GB başına $0.05 — yani Spectrum'un self-servis fiyatı yirmi katı. Spectrum bu planlarda bir bant genişliği ürünü değil, küçük ölçekli bir kolaylık olarak fiyatlanmış. Enterprise GB ücreti yayımlanmıyor.
    Loglarımda 444 ve 499 kodlarını görüyorum, bunlar HTTP kodu mu?
    Hayır. Resmî uyarı: “Spectrum status codes are not HTTP status codes... Some codes share numbers with HTTP status codes (for example, 444, 499) but have different meanings in the Spectrum context.” Spectrum'da 444 = origin RST gönderdi, 499 = istemci RST gönderdi, 403 = deny firewall kuralına takıldı, 521 = origin bağlantıyı reddetti, 522 = origin zaman aşımı. Loglar Logpush'ta spectrum_events dataset'inde, HTTP loglarından ayrı.
    IP Access Rules'un çalıştığını nereden göreceğim?
    Network Analytics'ten değil. Resmî ifade: “Network analytics data for Spectrum does not reflect the outcomes of IP Access rules. Instead, to verify whether traffic was allowed or blocked based on these rules, consult the Spectrum event logs.” Engellenen bağlantı spectrum_events içinde 403 koduyla görünür. Bu ayrımı bilmeyen ekipler kuralın çalışmadığını sanıyor.

    İlgili servisler

    • Load BalancingTrafiği birden çok origin arasında dağıtır, health check yapar, arızalıyı devre dışı bırakır.
    • Argo Smart Routing (Smart Shield)Cache miss olan request’i internetin tıkalı yollarından kaçırır. Artık Smart Shield paketinin içinde satılıyor.
    • Cloudflare TunnelŞirket içi sunucunu, güvenlik duvarında port açmadan Cloudflare’e giden bir tünelle yayınlar.
    • DDoS for WebHTTP katmanındaki DDoS saldırılarına özel kural setleri ve otomatik azaltma.

    Bu sayfadaki fiyat ve özellik bilgileri 1 Eylül 2026 tarihinde Cloudflare’in resmî kaynaklarından doğrulanmıştır. Cloudflare fiyatlandırmasını önceden haber vermeden değiştirebilir; bağlayıcı bilgi içinresmî sayfaya bakın.

    Hata bildir

    Yanlış bir rakam, eskimiş bir bilgi veya bozuk bir bağlantı mı buldun? Bildir, kaynağıyla birlikte kontrol edelim.