Har du brug for et CDN til dit webhotel?
Et CDN (Content Delivery Network) er et net af servere flere steder i verden, der kan gemme kopier af statiske filer (f.eks. billeder, CSS og JavaScript) og levere dem tættere på den besøgende. Cloudflare er en af de mest kendte løsninger. Tanken er god, men for de fleste danske hjemmesider er et CDN sjældent nødvendigt, og i nogle tilfælde giver det flere problemer, end det løser.
Kort fortalt
Har du primært danske besøgende og et webhotel hos os, får du normalt ikke en hurtigere eller mere sikker side ud af at lægge et CDN foran den. Vores servere er i forvejen forbundet direkte til de fleste danske internetudbydere, så trafikken typisk tager en kort og direkte vej.
Et proxy-CDN som Cloudflare lægger sig ind mellem den besøgende og os. Det betyder, at du får et ekstra system, der skal virke, før din side kan vises, og det kan i praksis gøre både hastighed, fejlfinding og sikkerhed dårligere. Det kan blandt andet forhindre, at vi automatisk kan oprette og forny dit SSL-certifikat.
Sådan er vores netværk forbundet
Vi har direkte samtrafik (peering) med hovedparten af de danske internetudbydere. Når en besøgende i Danmark henter din side, går trafikken den direkte vej mellem udbyderen og vores servere uden unødige mellemled. Det betyder, at danske besøgende ofte allerede har en kort vej til dit webhotel.
Et CDN er bygget til det modsatte behov: at flytte indhold tæt på besøgende, der er spredt ud over hele verden. Har du dem ikke, løser det et problem, du ikke har.
Et CDN lægger et ekstra led ind i forbindelsen
Når din side sendes gennem Cloudflares proxy, går trafikken ikke længere direkte til os. Den går først til Cloudflare og derfra videre til vores servere. Det betyder, at din side nu afhænger af, at både vores platform og Cloudflare fungerer. Har Cloudflare driftsproblemer, kan din side være utilgængelig, selvom vores servere kører helt normalt.
Et CDN vælger selv, hvilket af sine knudepunkter en besøgende rammer, og den beslutning følger nettets ruter, ikke landegrænser. Det er derfor ikke altid det geografisk nærmeste. Vi har for eksempel set Cloudflare sende danske besøgende til servere i udlandet, selvom både den besøgende og webhotellet står i Danmark. Så tager trafikken en omvej ud af landet og tilbage igen, og resultatet kan blive en langsommere side end helt uden CDN.
Oven i det kommer opsætningen. Et CDN har sine egne indstillinger for cache, sikkerhed og viderestillinger, og de kan komme på tværs af, hvordan siden er sat op hos os. For en side, der mest henvender sig til danskere, er det ekstra kompleksitet uden en tydelig gevinst.
Sikkerhed: hængelåsen kan love mere, end den holder
Det her er den vigtigste grund til at være varsom. Når Cloudflare ligger foran din side, er der to forbindelser: én fra den besøgende til Cloudflare og én fra Cloudflare til dit webhotel. Hængelåsen i browseren fortæller kun, at den første forbindelse er krypteret. Den siger ikke i sig selv noget om, hvordan forbindelsen videre ind til os er sat op.
Er den ikke sat rigtigt op, er det andet led ikke nødvendigvis sikret. I Cloudflares "Flexible"-tilstand sendes trafikken ind til os som almindelig, ukrypteret HTTP, selvom den besøgende ser en hængelås. I "Full"-tilstand er den krypteret, men Cloudflare kontrollerer ikke vores certifikat og kan derfor ikke skelne vores server fra en, der udgiver sig for at være os.
Der findes en korrekt måde at sætte det op på ("Full strict" med et gyldigt certifikat). Men de mindre sikre tilstande findes stadig og bliver ofte efterladt, især hvis CDN'et er sat hurtigt op. Så står du med en side, der ser sikker ud, men hvor forbindelsen det sidste stykke ind til os er svag.
Vores automatiske SSL-certifikat kan holde op med at virke
Vores platform opretter og fornyer automatisk et gyldigt SSL-certifikat til din side. Både når certifikatet oprettes første gang og hver gang det fornyes, skal vores servere kunne bevise, at de står for domænet, og den kontrol skal nå frem til os. Lægger du et proxy-CDN foran, kan kontrollen ramme CDN'et i stedet. Så kan certifikatet hverken oprettes eller fornyes automatisk, og i værste fald udløber det, så de besøgende får en sikkerhedsadvarsel.
Delte IP-adresser og filtrering
Når trafikken går gennem et CDN, når den frem til os fra CDN'ets egne IP-adresser i stedet for fra de besøgende. De adresser deles typisk af mange andre hjemmesider.
Det betyder, at vores sikkerhedsfiltrering ser trafikken samlet fra få adresser, så ondsindede forespørgsler gennem CDN'et er sværere at skille fra den almindelige trafik. Får de delte adresser desuden et dårligt ry på grund af andres trafik, kan det gå ud over alle, der deler dem, i form af blokeringer eller ustabile forbindelser.
Den besøgendes rigtige adresse kan godt bevares, hvis siden er sat op til at læse den fra CDN'ets oplysninger, men det kræver korrekt opsætning. Uden et CDN ser vi adresserne direkte og kan filtrere præcist.
Hvornår et CDN alligevel giver mening
Et CDN er ikke en dårlig idé i sig selv. Det er bare bygget til nogle behov, som de færreste danske sider har. Det kan være det rigtige valg, hvis:
En stor del af dine besøgende er i andre verdensdele, hvor afstanden til Danmark koster ventetid.
Du leverer store mængder statiske filer (bl.a. video eller store billedbiblioteker) til et internationalt publikum.
Du har et konkret behov for CDN'ets ekstra funktioner (f.eks. avanceret beskyttelse mod overbelastningsangreb).
Passer et af punkterne på din side, kan et CDN sagtens give mening. Er du i tvivl, er du velkommen til at skrive til os på netsite@netsite.dk, så ser vi på det sammen.
Hurtigere side uden et CDN
De fleste hastighedsgevinster ligger et helt andet sted end i et CDN. På vores platform er caching og komprimering slået til som standard, og du kommer langt med god caching og optimerede billeder på selve siden.
Se vores guide til at optimere hastigheden på din WordPress-side, og læs om IP-adresserne på vores webservere, hvis du skal whiteliste vores netværk.