←Terug naar het blog

Hoe HTTP/2 (en HTTP/3) in te schakelen: Nginx, Apache, CDN

2025-08-13‱9 min lezen

Wilt u snellere laadtijden? Schakel HTTP/2 in en, indien mogelijk, HTTP/3. Deze gids laat zien hoe u beide inschakelt op Nginx, Apache en gangbare CDN's, hoe u controleert of ze werken en snelle oplossingen als ze dat niet doen.

Waarom HTTP/2 (en HTTP/3)?

HTTP/1.1 opent meerdere verbindingen en herhaalt headers. HTTP/2 multiplexeert verzoeken over één verbinding en comprimeert headers. HTTP/3 voegt QUIC over UDP toe om transport-level blocking te voorkomen. Resultaat: snellere laadtijden, vooral op mobiele apparaten en verbindingen met hoge latentie.

Snelle controles: zijn ze ingeschakeld?

  • DevTools: Netwerk tabblad > voeg "Protocol" kolom toe. Zoek naar h2 of h3.
  • CLI: curl -I --http2 https://example.com
  • HTTP/3: curl -I --http3 https://example.com (recente curl)
  • Waterfalls: Veel bestanden moeten tegelijkertijd op één verbinding starten.

Nginx: HTTP/2 (en HTTP/3) inschakelen

server {
   # HTTP/2
   listen 443 ssl http2;
   listen [::]:443 ssl http2;

   # Uncomment indien uw build QUIC ondersteunt
   # listen 443 quic reuseport;
   # add_header Alt-Svc 'h3=":443"; ma=86400' always;

   server_name example.com;

   ssl_protocols TLSv1.2 TLSv1.3;
   ssl_prefer_server_ciphers off;
   ssl_session_cache shared:SSL:10m;
   ssl_session_timeout 1d;

   add_header Strict-Transport-Security "max-age=31536000" always;
   # uw SSL cert configuratie hier
}

Vereisten: HTTP/2 module gecompileerd, TLS bibliotheek met ALPN ondersteuning. De meeste moderne pakketten bevatten beide.

Apache: HTTP/2 inschakelen

# Laad de module
LoadModule http2_module modules/mod_http2.so

# Globaal of in een vhost inschakelen
Protocols h2 http/1.1

# Optioneel: beperken tot moderne TLS
H2ModernTLSOnly on

Apache HTTP/3 ondersteuning is experimenteel. Gebruik HTTP/2 voor productie.

CDN: HTTP/2/3 inschakelen (Cloudflare, CloudFront, Akamai, Fastly)

De meeste CDN's ondersteunen HTTP/2 en HTTP/3. Schakel ze in voor HTTPS-verkeer. Open UDP/443 als u uw eigen edge draait en HTTP/3 wilt. Als UDP geblokkeerd is, vallen clients terug op HTTP/2. Het protocol van CDN naar origin is apart; gebruik het als het eenvoudig is, maar de impact op de gebruiker komt van de edge.

Cloudflare

Dashboard > Speed > Optimization > HTTP/2 en HTTP/3 (standaard ingeschakeld)

AWS CloudFront

Distributie-instellingen > Ondersteunde HTTP-versies > HTTP/2 en HTTP/3

Fastly

Serviceconfiguratie > Instellingen > HTTP/2 en HTTP/3 ondersteuning

Verifiëren + fallback gedrag

Browsers onderhandelen automatisch tijdens de TLS-handshake via ALPN. Als HTTP/3 faalt (UDP geblokkeerd), vallen ze terug op HTTP/2. Als HTTP/2 faalt (oude server), gebruiken ze HTTP/1.1. Geen handmatige interventie nodig.

Controleer uw setup:

  • Moderne browsers tonen h2/h3 in de DevTools Protocol kolom
  • Waterfall grafieken tonen parallelle downloads op één verbinding
  • H3 helpt vaak mobiele/verliesgevende verbindingen meer dan desktop

Probleemoplossing

HTTP/2 werkt niet?

  • Controleer of uw serverbuild de HTTP/2 module bevat
  • Verifieer dat de TLS bibliotheek ALPN ondersteunt (OpenSSL 1.0.2+)
  • Zorg ervoor dat u test via HTTPS (browsers vereisen dit)
  • Controleer of een proxy/load balancer terugvalt naar HTTP/1.1

HTTP/3 werkt niet?

  • Verifieer dat UDP poort 443 open is
  • Controleer of uw build QUIC ondersteunt
  • Bevestig dat de Alt-Svc header wordt verzonden
  • Test vanaf verschillende netwerken (sommige blokkeren UDP)

Veelgestelde vragen

Heb ik HTTPS nodig voor HTTP/2?

Ja. Browsers gebruiken HTTP/2 alleen over TLS.

Is HTTP/3 vereist?

Nee, maar schakel het in wanneer u kunt. Houd HTTP/2 als fallback.

Hoe controleer ik of HTTP/2/3 actief is?

Gebruik de Protocol kolom van DevTools, of voer curl uit met --http2 of --http3.

Waarom veranderde het inschakelen van HTTP/2 niet veel?

App-traagheid en netwerkverlies gelden nog steeds. Cache en profileer uw app; gebruik HTTP/3 voor verliesgevende verbindingen.