Skip to content
VDS · Weby a webové servery

Caddy: stránka s certifikátom hneď po inštalácii

Webový server, ktorý si sám získava a obnovuje HTTPS certifikáty. Inštalácia na VPS, minimálny Caddyfile a migrácia z Nginx.

Aktualizované 23. augusta 2026

Caddy robí to isté ako Nginx, ale certifikáty Let's Encrypt vydáva a obnovuje sám. Konfigurácia stránky sa zmestí do troch riadkov, takže pre prvý projekt na VDS je to najkratšia cesta k funkčnému HTTPS.

Inštalácia

Debian a Ubuntu — z oficiálneho repozitára:

apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
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' \
  > /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install -y caddy

AlmaLinux a CentOS Stream:

dnf install -y 'dnf-command(copr)'
dnf copr enable -y @caddy/caddy
dnf install -y caddy && systemctl enable --now caddy

Tvoja prvá stránka

Celá konfigurácia žije v /etc/caddy/Caddyfile:

example.ru {
    root * /var/www/example.ru
    file_server
    encode gzip zstd
}
mkdir -p /var/www/example.ru
echo '<h1>Works</h1>' > /var/www/example.ru/index.html
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddy

Pár sekúnd po prvom požiadavke sa stránka otvorí na https://example.ru. Nemusíš spúšťať nič ďalšie: Caddy si certifikát stiahol sám a bude ho automaticky obnovovať.

Proxyovanie aplikácie

Ak máš na lokálnom porte službu v Node.js alebo Pythone, konfigurácia vyzerá takto:

api.example.ru {
    reverse_proxy 127.0.0.1:3000
}

Caddy pridáva hlavičky X-Forwarded-For a X-Forwarded-Proto sám. Viac o schéme nájdeš v reverse proxy.

Viacero stránok sú len viaceré bloky v tom istom súbore, pozri viacero stránok na jednom stroji.

Čo si vopred skontrolovať

  • A záznam domény smeruje na adresu stroja z „Prehľadu“ panela /hosting/vds/m/<id>;
  • porty 80 a 443 sú otvorené vo firewalle stroja a nie sú obsadené Nginxom alebo Apachem;
  • doména sa naozaj prekladá: dig +short example.ru.

Ak nie je splnený prvý bod, vydanie certifikátu zlyhá: Let's Encrypt sa musí dostať na tvoj stroj podľa názvu domény.

Časté chyby

PríznakPríčina
could not get certificateDoména nesmeruje na stroj alebo je zatvorený port 80
address already in useBeží Nginx alebo Apache — zastav jeden z nich
Stránka sa otvára len cez HTTPV Caddyfile je pred názvom :80 alebo http://
Príliš veľa pokusov o vydanieLimity Let's Encrypt — ladíš s tls internal

Logy: journalctl -u caddy -f.

Caddy ukladá certifikáty do /var/lib/caddy/.local/share/caddy. Keď na karte „Prístup“ preinštaluješ systém, skopíruj tento adresár, inak sa vydávanie po preinštalovaní začne od nuly.