 Autor: [Robert Zasilny](/autorzy/robert-zasilny) Ekspert bezpieczeństwa i compliance · Zweryfikowano Kwiecień 2026

1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  HTTP/3 i QUIC — konfiguracja Nginx i Caddy

# HTTP/3 i QUIC — konfiguracja na Nginx i Caddy

Opublikowano: 10 kwietnia 2026 · Kategoria: Hosting / Wydajność

HTTP/3 to trzecia główna wersja protokołu HTTP, oparta na QUIC (Quick UDP Internet Connections) zamiast TCP. Eliminuje klasyczny problem "head-of-line blocking", przyspiesza ładowanie stron na wolnych połączeniach i wspiera migrację połączeń bez zrywania sesji. Oto jak go uruchomić.

## Ewolucja HTTP: 1.1 → 2 → 3

Cecha

HTTP/1.1

HTTP/2

HTTP/3

Transport

TCP

TCP

UDP (QUIC)

Multiplexing

Brak (pipelining)

Tak (strumienie)

Tak (niezależne strumienie)

Head-of-line blocking

Tak (poziom połączenia)

Tak (poziom TCP)

Nie

TLS

Opcjonalne (TLS 1.2/1.3)

Wymagane (TLS 1.2+)

Wbudowane TLS 1.3

Handshake RTT

1-3 RTT

1-2 RTT

0-1 RTT (0-RTT resumption)

Connection migration

Nie

Nie

Tak (zmiana IP bez przerwy)

Kluczowa różnica: QUIC działa na UDP, więc każdy strumień HTTP/3 jest niezależny. Utrata pakietu w jednym strumieniu (np. obraz) nie wstrzymuje pobierania innych zasobów (CSS, JS) — tak jak to dzieje się w HTTP/2 na TCP.

## Opcja 1: Caddy — HTTP/3 bez konfiguracji

Caddy to najprostszy sposób na HTTP/3. Od wersji 2.5 QUIC jest domyślnie włączony — wystarczy skonfigurować domenę z HTTPS:

\# Instalacja Caddy (Ubuntu/Debian)
apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install caddy

\# /etc/caddy/Caddyfile
example.com {
    root \* /var/www/html
    file\_server

    # HTTP/3 jest włączone automatycznie — nic nie musisz konfigurować!
    # Caddy dodaje nagłówek Alt-Svc: h3=":443"; ma="2592000"

    # Opcjonalnie: wymuś HTTP/3 przez nagłówek
    header Alt-Svc \`h3=":443"; ma=86400\`
}

systemctl reload caddy

# Weryfikacja
curl -sI https://example.com | grep -i alt-svc
# Oczekiwane: Alt-Svc: h3=":443"; ma=2592000

**Ważne:** QUIC używa UDP port 443. Upewnij się, że firewall przepuszcza UDP 443 (nie tylko TCP): `ufw allow 443/udp`.

## Opcja 2: Nginx z QUIC (mainline >= 1.25.0)

Od Nginx 1.25.0 (mainline) wbudowana jest obsługa HTTP/3 i QUIC bez patchowania. Wymaga OpenSSL 3.x lub BoringSSL:

\# Instalacja Nginx mainline (Ubuntu)
curl https://nginx.org/keys/nginx\_signing.key | gpg --dearmor | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

echo "deb \[signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg\] http://nginx.org/packages/mainline/ubuntu $(lsb\_release -cs) nginx" | tee /etc/apt/sources.list.d/nginx.list

apt update && apt install nginx

# Sprawdzenie wersji i obsługi HTTP/3
nginx -V 2>&1 | grep -o 'with-http\_v3\_module'

\# /etc/nginx/sites-available/http3-example.conf

server {
    listen 443 ssl;
    listen 443 quic reuseport;  # HTTP/3 na UDP
    listen \[::\]:443 ssl;
    listen \[::\]:443 quic reuseport;

    server\_name example.com;

    ssl\_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl\_certificate\_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl\_protocols TLSv1.3;  # HTTP/3 wymaga TLS 1.3

    # Informuj przeglądarkę o HTTP/3
    add\_header Alt-Svc 'h3=":443"; ma=86400';
    add\_header QUIC-Status $quic;  # "h3" jeśli aktywne

    root /var/www/html;
    index index.html;

    location / {
        try\_files $uri $uri/ =404;
    }
}

# Przekierowanie HTTP → HTTPS
server {
    listen 80;
    server\_name example.com;
    return 301 https://$host$request\_uri;
}

nginx -t && systemctl reload nginx

# Sprawdzenie logów HTTP/3 — dodaj $quic do log\_format
# log\_format main '$remote\_addr \[$time\_local\] "$request" $status $quic';
# access\_log /var/log/nginx/access.log main;

## Konfiguracja firewalla — UDP 443 obowiązkowe

\# UFW
ufw allow 443/tcp
ufw allow 443/udp  # QUIC wymaga UDP!

# iptables (alternatywnie)
iptables -A INPUT -p udp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

**Uwaga na dostawców chmury:** AWS, GCP i Azure mają osobne Security Groups / Firewall rules. Musisz dodać regułę UDP 443 w panelu dostawcy, nie tylko w systemowym UFW.

## Testowanie HTTP/3

\# curl z HTTP/3 (wymaga curl 7.66+ z obsługą QUIC)
curl --http3 -I https://example.com

# Sprawdź nagłówek Alt-Svc
curl -sI https://example.com | grep Alt-Svc

# Chrome DevTools — weryfikacja
# 1. F12 → Network → przeładuj stronę
# 2. Kliknij żądanie → Headers → "protocol: h3"

# chrome://net-internals/#quic — aktywne sesje QUIC
# chrome://net-internals/#http2 — wszystkie protokoły

# Narzędzie online
# https://http3check.net/?host=example.com

## Kiedy HTTP/3 najbardziej pomaga?

-   **Duże liczby zasobów** — strony z 50+ żądaniami JS/CSS/obrazów — brak HoL blockingu przyspiesza ich równoległe pobieranie.
-   **Użytkownicy mobilni** — słabe, stratne połączenia 4G/5G — QUIC lepiej radzi sobie z utraconymi pakietami.
-   **Aplikacje real-time** — czat, streaming — 0-RTT resumption skraca czas nawiązywania sesji po przerwie.
-   **Globalna publiczność** — użytkownicy daleko od serwera — mniej RTT handshake.
-   **Słabsza sieć** — np. publiczne WiFi — QUIC jest bardziej odporny na packet loss niż TCP.

**Kiedy zysk jest mały:** serwer lokalny, stabilna sieć, mała liczba zasobów na stronie, już skonfigurowane HTTP/2 Push lub preload. W tych przypadkach HTTP/3 daje <5% poprawy.

## LiteSpeed — HTTP/3 gotowe na hostingu

Jeśli używasz hostingu współdzielonego z LiteSpeed (np. LH.pl, CyberFolks), HTTP/3 i QUIC mogą być już aktywne po stronie serwera — bez żadnej konfiguracji z Twojej strony. Sprawdź nagłówki odpowiedzi:

curl -sI https://twojastrona.pl | grep -i 'alt-svc\\|server\\|x-powered'
# LiteSpeed Enterprise: server: LiteSpeed, alt-svc: h3=":443"

## Najczęstsze pytania

Czym HTTP/3 różni się od HTTP/2? +

HTTP/2 działa na TCP i cierpi na "head-of-line blocking" — jeden utracony pakiet blokuje cały strumień. HTTP/3 używa QUIC (UDP), gdzie każdy strumień jest niezależny: utrata pakietu w jednym strumieniu nie blokuje pozostałych. Dodatkowo QUIC wbudowuje TLS 1.3 i obsługuje "connection migration" — połączenie nie zrywa się przy zmianie sieci (np. WiFi → LTE na smartfonie).

Czy HTTP/3 naprawdę przyspiesza strony? +

Zależy od scenariusza. Na szybkich, stabilnych łączach różnica jest minimalna (3-5%). Na słabych, stratnych połączeniach (mobilnych, satelitarnych) HTTP/3 może dać 20-30% skrócenia czasu ładowania. Największy zysk jest przy stronach z wieloma zasobami (CSS, JS, obrazy) — brak HoL blockingu przyspiesza ich równoległe pobieranie.

Jak sprawdzić czy moja strona obsługuje HTTP/3? +

Użyj curl z flagą --http3: curl --http3 -I https://twojadomena.pl. Alternatywnie otwórz DevTools Chrome → Network → kliknij żądanie i sprawdź nagłówek "protocol: h3". Możesz też użyć serwisu https://http3check.net/ lub uruchomić chrome://net-internals/#quic w Chrome aby zobaczyć aktywne sesje QUIC.

Czy Caddy obsługuje HTTP/3 automatycznie? +

Tak — Caddy od wersji 2.5 obsługuje HTTP/3 (QUIC) domyślnie. Wystarczy skonfigurować stronę z HTTPS (co Caddy robi automatycznie przez Let's Encrypt) i HTTP/3 jest włączone bez żadnej dodatkowej konfiguracji. Caddy używa biblioteki quic-go. Nie potrzebujesz patchować Nginx ani instalować BoringSSL.

## Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.

Contabo

VPS z pełnym dostępem root — idealne środowisko do konfiguracji Nginx z QUIC/HTTP3

VPS HTTP/3

[Aktywuj rabat →](/out/contabo)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo)

Mikrus

Tani VPS do testowania HTTP/3 z Caddy — automatyczny HTTPS i QUIC od razu

Tani VPS

[Aktywuj rabat →](/out/mikrus)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus)

LH.pl

Hosting z LiteSpeed — natywna obsługa HTTP/3 bez konfiguracji serwera

LiteSpeed H3

[Aktywuj rabat →](/out/lh-pl)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/lh-pl)

## Powiązane strony

-   [Nginx — konfiguracja virtual hostów](/baza-wiedzy/nginx-vhost-konfiguracja)
-   [Brotli — kompresja w Nginx i Apache](/baza-wiedzy/brotli-kompresja-nginx-apache)
-   [Core Web Vitals — optymalizacja LCP, CLS i INP](/baza-wiedzy/core-web-vitals-optymalizacja)
-   [Wszystkie artykuły](/baza-wiedzy/)