← Cloudflare Spectrum / spectrum / reference
Řešení potíží
Chcete-li prošetřit problémy s aplikací Spectrum, použijte logy a diagnostiku popsané na této stránce. Chyby validace API vracené při vytváření nebo aktualizaci aplikace naleznete v Kódy chyb.
Protokoly událostí Spectrum
Spectrum zaznamenává životní cyklus každého spojení, které proxuje, včetně stavových kódů pro selhání mezi edge a originem (například 521 odmítnuto připojení, 522 časový limit, 523 nedostupný). Více informací najdete v Protokoly událostí.
Originy virtuální sítě
Když aplikace Spectrum používá origin virtuální sítě, provoz k origin serveru prochází přes konektor přiřazený k virtuální síti. Konektivitu k origin serveru diagnostikujte ze strany konektoru pomocí zdrojů pro váš typ konektoru.
Cloudflare Tunnel jako konektor
- Protokoly tunelu aktivitu záznamu mezi
cloudflareda sítí Cloudflare a mezicloudflareda vaším originem. Podrobnosti najdete v Proudy protokolů. - Diagnostické protokoly tunelu shromážděte diagnostickou zprávu z jednoho
cloudflaredinstance. Více informací najdete v Diagnostické protokoly. - Konektivita privátní sítě popisuje časté příčiny, kdy provoz nedosáhne privátního originu přes tunel. Podrobnosti najdete v Konektivita privátní sítě.
Cloudflare WAN jako konektor
Diagnostiku stavu tunelu, BGP a směrování u origin serverů připojených přes WAN najdete v Řešení problémů s Cloudflare WAN.
Nelze vytvořit aplikaci Spectrum: DNS záznam již existuje
Příznaky
- Při vytváření aplikace Spectrum v dashboardu se zobrazí chyba: "Pro tohoto hostitele již existuje záznam A, AAAA nebo CNAME."
- Již máte ručně vytvořený proxovaný záznam DNS (
A,AAAA, neboCNAME) pro hostname, který se pokoušíte použít pro novou aplikaci Spectrum.
Příčina
Cloudflare nepodporuje současnou existenci ručně vytvořeného proxovaného DNS záznamu (A, AAAA, nebo CNAME) a aplikaci Spectrum na stejném hostname. Je to proto, že Spectrum si pro aplikaci vytváří a spravuje vlastní DNS záznam, což je v konfliktu s existujícím ručně vytvořeným záznamem. Jde o omezení platformy, nikoli pouze o omezení dashboardu.
Toto omezení platí pouze pro ručně vytvořené proxované záznamy. Stejný hostname může sdílet více aplikací Spectrum, včetně kombinace typů aplikací HTTP/HTTPS a TCP/UDP, protože Spectrum pro každou z nich spravuje vlastní DNS záznam.
Řešení
Pokud na daném hostname potřebujete pouze aplikace Spectrum (například aplikaci Spectrum typu HTTP/HTTPS vedle aplikace Spectrum typu TCP/UDP), žádné obcházení není nutné: další aplikaci Spectrum jednoduše vytvořte na stejném hostname.
Pokud potřebujete na hostname zachovat ručně vytvořený proxovaný DNS záznam (například proto, abyste běžný provoz HTTP/HTTPS směrovali přes CDN a WAF místo přes Spectrum), použijte architektura s rozděleným hostname místo toho, kde ručně vytvořený proxovaný záznam a aplikace Spectrum používají odlišné hostname:
| Typ provozu | Hostname | Služba Cloudflare |
|---|---|---|
| HTTPS (webové UI, API) | app.example.com |
Ručně vytvořený proxovaný DNS záznam s CDN/WAF |
| TCP (vlastní protokol, ICA/HDX a podobné) | app-tcp.example.com |
Aplikace Spectrum |
Nakonfigurujte svou aplikaci nebo klienta tak, aby pro každý typ provozu používaly odpovídající název hostitele.
Podrobnosti k tomuto omezení najdete v Omezení Spectrum.
Origin přijímá HTTP místo HTTPS (nesoulad protokolů)
Příznaky
- Edge port vaší aplikace Spectrum používá HTTP (například port 8012), zatímco váš origin server očekává HTTPS na portu 443.
- Origin odmítá spojení nebo vrací chyby, protože místo šifrovaného HTTPS přijímá nešifrované HTTP.
- Konfigurace funguje následovně:
http:8012 → Cloudflare Spectrum → http:443 (origin)místo očekávanéhohttp:8012 → Cloudflare Spectrum → https:443 (origin).
Příčina
Spectrum funguje na vrstvě L4 (TCP/UDP). Pokud je Edge TLS Termination nastaveno na off (Passthrough), Spectrum přeposílá nezpracovaná TCP data do originu beze změny. Neprovádí upgrade protokolu: připojení k originu na portu 443 tedy automaticky neznamená, že spojení bude používat HTTPS.
Řešení
Chcete-li odesílat šifrovaný provoz z Cloudflare na váš origin, musíte zapnout Edge TLS Termination u aplikace Spectrum a nastavte ji na Full nebo Full (Strict):
- Full: Cloudflare se připojuje k originu pomocí TLS, ale neověřuje certifikát originu.
- Full (Strict): Cloudflare se připojuje k originu pomocí TLS a ověřuje certifikát originu vůči důvěryhodné certifikační autoritě nebo Cloudflare Origin CA.
Edge TLS Termination můžete nakonfigurovat v nastavení aplikace Spectrum v dashboardu, nebo přes API nastavením tls pole na full nebo strict.
Viz Edge TLS Termination pro další podrobnosti.
Selhání handshake TLS (chyba 525)
Příznaky
- U aplikací TCP s Edge TLS Termination nastaveným na Full nebo Full (Strict): připojení k originu selžou. Protokoly událostí Spectrum mohou zobrazit
521(odmítnuto připojení) nebo522(vypršení časového limitu připojení), protože neúspěšný TLS handshake na originu je hlášen jako chyba připojení k originu. Podrobnosti najdete v Protokoly událostí pro úplný přehled stavových kódů. - U aplikací HTTP/HTTPS: klienti obdrží chybu
525(selhání SSL handshake).
Tyto chyby se obvykle objevují po vytvoření aplikace Spectrum nebo po úpravě nastavení TLS.
Příčina
TLS handshake mezi Cloudflare a vaším origin serverem selhal. Mezi časté příčiny patří:
- Možnost Edge TLS Termination je nastavena na Full nebo Full (Strict), ale origin server nemá platný TLS certifikát nebo nepřijímá TLS připojení na nakonfigurovaném portu.
- Origin aplikace Spectrum směřuje na jiný hostname proxovaný přes Cloudflare (například
origin.example.com.cdn.cloudflare.net). Tím vzniká řetězec dvojitého proxy, který není podporován pro typy aplikací TCP a může způsobit selhání TLS handshake. - Nesoulad verze TLS nebo šifry mezi edge Cloudflare a origin serverem.
Řešení
- Ověřte, že váš origin server má platný certifikát TLS a je nakonfigurován tak, aby na portu origin serveru přijímal připojení TLS.
- Při použití Full (Strict), zajistěte, aby byl certifikát origin serveru vydán veřejně důvěryhodnou certifikační autoritou (CA) nebo Certifikát Cloudflare Origin CA.
- Ověřte, že origin aplikace Spectrum nesměřuje na jiný název hostitele proxovaný přes Cloudflare. Použijte přímou IP adresu origin serveru nebo DNS název, který se překládá přímo na váš origin server (nikoli přes proxy Cloudflare).
- Pokud origin podporuje jen konkrétní verze TLS, mějte na paměti, že Spectrum při zapnutém Edge TLS Termination podporuje TLS 1.1, 1.2 a 1.3.
Běžné stavové kódy protokolu událostí Spectrum
Spectrum používá vlastní sadu stavových kódů spojení, které se liší od stavových kódů HTTP používaných vrstvou CDN Cloudflare. Některé kódy mají stejná čísla (například 444, 499), ale mají odlišný význam.
Úplnou tabulku stavových kódů najdete v Protokoly událostí.
Běžné vzory
Následující tabulka uvádí často pozorované vzory stavových kódů Spectrum a jejich pravděpodobné příčiny:
| Vzor | Pravděpodobná příčina | Doporučená akce |
|---|---|---|
| Vysoký objem 444 (origin odeslal RST) | Origin server aktivně resetuje připojení. Může to signalizovat přetížení originu, chybně nakonfigurovaný firewall nebo pád aplikace. | Zkontrolujte stav origin serveru, pravidla firewallu a protokoly aplikace. |
| Vysoký objem 445 (vypršení časového limitu originu) | Navázaná spojení s origin serverem vypršela. Může to znamenat, že origin server odpovídá pomalu, nebo že dochází k problémům na síťové cestě. | Zkontrolujte výkon origin serveru a síťové připojení mezi Cloudflare a origin serverem. |
| Vysoký objem 497 (vypršení časového limitu klienta) | Připojením klientů vypršel časový limit. Může to znamenat problémy v síti mezi klienty a edge sítí Cloudflare nebo klienty s velmi dlouho nečinnými připojeními. | Zkontrolujte síťové podmínky klienta a zvažte úpravu očekávání ohledně timeoutu nečinnosti. |
| Vysoký objem 498 (přerušené spojení klienta) | Připojení klientů se uprostřed relace přerušují. Může to znamenat nestabilní sítě na straně klienta (například u mobilních uživatelů). | U mobilních nebo nespolehlivých sítí se to dá často očekávat. Sledujte trendy. |
| Vysoký objem 499 (klient odeslal RST) | Klienti aktivně ukončují připojení. Může to znamenat vypršení časového limitu na straně klienta nebo odpojení na úrovni aplikace. | Zkontrolujte nastavení timeoutu klientské aplikace. |
| 521 (origin odmítl připojení) | Origin na nakonfigurovaném portu nepřijímá připojení. | Ověřte, že origin server běží a naslouchá na správném portu. Zkontrolujte firewall origin serveru. |
| 522 (vypršení časového limitu připojení k originu) | Nelze navázat TCP připojení k origin serveru. | Ověřte IP adresu a port origin serveru a to, že je origin server z Cloudflare dostupný. |