Kullanıcılar site açılmıyor dedi. Tarayıcı: certificate expired. Son başarılı renew? Üç ay önce. Kişisel site için belki affedilir — production için hayır.

Sebep: migrate sonrası eski sunucuda kalan cron. "Eskiden çalışıyordu" diye kimse kontrol etmedi. Monitoring'siz otomasyon, hiç çalmayan kırık bir cron'dur.

Nginx açık ve belirgin hata yoktu. Process açısından her şey sağlıklıydı — sorun TLS katmanındaydı. openssl s_client gerçeği ilk gösteren araçtı.

O gün manuel renew çalıştı ama ~20 dakika downtime oldu — Nginx config'deki sertifika yolu certbot ile uyuşmuyordu. Yanlış symlink incident'i uzatır.

Incident sonrası: cron yerine systemd timer ile certbot — systemctl list-timers ile daha görünür.

Expiry'den 14 gün önce alert kurduk. Uzun tatil ve yoğun deploy haftasında yeterli bile oluyor.

Tek sayfalık runbook: expiry kontrol, manuel renew, Nginx reload, curl ve openssl ile doğrulama.

Ana ders: monitoring'siz altyapı kumardır. SSL expiry %100 önlenebilir — "otomatik" olan şeyleri de izlemen gerekir.