argabayu— Backend & Systems Engineer

Caddy untuk yang tidak ingin mengurusi sertifikat

27 Maret 2026·5 min baca·#infra#caddy

Saya memakai nginx bertahun-tahun. Pindah ke Caddy bukan karena nginx buruk, tapi karena saya tidak ingin lagi mengurusi sertifikat.

Seluruh konfigurasi untuk situs statis

nginx
contoh.dev {
	root * /var/www/contoh
	encode gzip
	file_server
}

Itu saja. Sertifikatnya diterbitkan dan diperbarui sendiri lewat Let’s Encrypt.

Yang sering saya tambahkan

Cache berbeda untuk HTML dan aset ber-hash:

nginx
contoh.dev {
	root * /var/www/contoh
	encode gzip

	@html path *.html
	header @html Cache-Control "public, max-age=300"

	@assets path /_astro/*
	header @assets Cache-Control "public, max-age=31536000, immutable"

	try_files {path} {path}/ {path}.html =404
	file_server
}

Aset mendapat immutable karena namanya sudah berisi hash — kalau isinya berubah, URL-nya juga berubah, jadi aman disimpan selamanya.

Hal yang perlu diketahui sebelum pindah

  • Validasi dulu sebelum reload. caddy validate menangkap salah ketik yang sebaliknya akan menjatuhkan semua situs.
  • reload, bukan restart. Reload itu graceful; situs lain tidak terdampak.
  • Simpan cadangan Caddyfile. Biasakan menyalin sebelum mengubah.
bash
sudo cp /etc/caddy/Caddyfile /etc/caddy/Caddyfile.bak
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

Kapan nginx masih masuk akal

Kalau butuh modul pihak ketiga, aturan rewrite yang sangat spesifik, atau tim sudah menguasainya — tidak ada alasan pindah. Untuk situs statis dan reverse proxy sederhana, Caddy menghemat waktu yang saya tidak ingin hitung.