Caddy ile otomatik HTTPS: Nginx'i neden bıraktım
Üç satırlık bir yapılandırma ile sertifika alma, yenileme ve HTTP'den HTTPS'e yönlendirme. Caddy'nin sunduğu sadelik üzerine.
İçindekiler
Yıllarca Nginx ve Certbot ikilisini kullandım. Çalışıyordu, ama her yeni alan adında aynı ritüeli tekrarlamak zorundaydım: sunucu bloğu yaz, Certbot'u çalıştır, cron'u kontrol et, yenilemenin gerçekten çalıştığından emin ol.
Caddyfile ne kadar kısa olabilir?
Bir statik siteyi HTTPS ile yayınlamak için gereken tüm yapılandırma şu:
tahabayar.com {
root * /srv/site
file_server
}
Caddy bu bloğu gördüğünde Let's Encrypt'ten sertifika alır, süresi dolmadan yeniler ve 80 portuna gelen istekleri 443'e yönlendirir. Benim yapmam gereken başka bir şey yok.
Reverse proxy
Asıl güzel kısım, konteynerlerin önüne koymak:
test.tahabayar.com {
reverse_proxy test:80
}
Docker ağında konteyner adıyla erişebildiği için port eşlemesine de gerek kalmıyor.
Dezavantajlar
- Nginx kadar yaygın değil, Stack Overflow'da daha az cevap var.
- Çok özel ihtiyaçlarda modül eklemek için Caddy'yi yeniden derlemek gerekebilir.
- Yapılandırmayı yeniden yüklerken
caddy reloadkullanmayı unutmamak lazım.
Küçük ve orta ölçekli projeler için bence şu an en pratik seçenek.