Skip to content
VDS · Situs web dan server web

Caddy: situs dengan sertifikat langsung siap pakai

Web server yang memperoleh dan memperbarui sertifikat HTTPS sendiri. Instalasi di VPS, Caddyfile minimal, dan migrasi dari Nginx.

Diperbarui 23 Agustus 2026

Caddy melakukan hal yang sama seperti Nginx, tetapi menerbitkan dan memperbarui sertifikat Let's Encrypt sendiri. Konfigurasi satu situs cukup tiga baris, jadi untuk proyek pertama di VDS ini adalah jalur tercepat menuju HTTPS yang berfungsi.

Instalasi

Debian dan Ubuntu — dari repositori resmi:

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 dan CentOS Stream:

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

Situs pertama Anda

Seluruh konfigurasi berada di /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

Beberapa detik setelah permintaan pertama, situs terbuka di https://example.ru. Anda tidak perlu menjalankan apa pun lagi: Caddy mengambil sertifikatnya sendiri dan akan memperbaruinya secara otomatis.

Proxying aplikasi

Jika Anda memiliki layanan Node.js atau Python pada port lokal, konfigurasinya seperti ini:

api.example.ru {
    reverse_proxy 127.0.0.1:3000
}

Caddy menambahkan header X-Forwarded-For dan X-Forwarded-Proto sendiri. Untuk penjelasan lebih lanjut tentang skema ini, lihat reverse proxy.

Beberapa situs cukup berupa beberapa blok dalam file yang sama, lihat beberapa situs di satu mesin.

Yang perlu diperiksa sebelumnya

  • Record A domain mengarah ke alamat mesin dari "Overview" panel /hosting/vds/m/<id>;
  • port 80 dan 443 terbuka di firewall mesin dan tidak dipakai oleh Nginx atau Apache;
  • domain benar-benar ter-resolve: dig +short example.ru.

Jika poin pertama belum dilakukan, penerbitan sertifikat akan gagal: Let's Encrypt harus menjangkau mesin Anda melalui nama domain.

Kesalahan umum

GejalaPenyebab
could not get certificateDomain tidak mengarah ke mesin, atau port 80 tertutup
address already in useNginx atau Apache sedang berjalan — hentikan salah satunya
Situs hanya terbuka melalui HTTPCaddyfile mencantumkan :80 atau http:// sebelum nama
Terlalu banyak percobaan penerbitanBatas Let's Encrypt — debug dengan tls internal

Log: journalctl -u caddy -f.

Caddy menyimpan sertifikat di /var/lib/caddy/.local/share/caddy. Saat Anda menginstal ulang sistem di tab "Access", salin direktori ini, jika tidak penerbitan akan dimulai dari awal setelah instalasi ulang.