TLS / sertifika süresi doldu
Belirti
'certificate has expired', 'SSL handshake failed', istemciler aniden bağlanamıyor (kod değişmeden).
1. Nerede kopuyor: sunucu, istemci, yoksa CA?
Süresi dolan sunucu sertifikası mı, istemci sertifikası mı, yoksa zincirdeki CA mı? Belirti çoğu zaman 'dün çalışıyordu bugün çalışmıyor, kod değişmedi' şeklindedir.
2. Süreyi ölç
Sertifikanın bitiş tarihini doğrudan sunucudan oku (veritabanı bağımsız hızlı yöntem).
PostgreSQL
openssl s_client -connect host:5432 -starttls postgres </dev/null 2>/dev/null | openssl x509 -noout -datesMongoDB
openssl s_client -connect host:27017 </dev/null 2>/dev/null | openssl x509 -noout -enddateRedis
openssl s_client -connect host:6379 </dev/null 2>/dev/null | openssl x509 -noout -enddate3. Yeni sertifikayı kur ve yükle
Sertifikayı değiştirip servisi çoğunlukla yeniden başlatmadan yeniden yükle (reload).
PostgreSQL
-- ssl_cert_file/ssl_key_file yenile, sonra:
SELECT pg_reload_conf();MySQL
ALTER INSTANCE RELOAD TLS;SQL Server
-- SQL Server Configuration Manager > Certificate; servis restart gerekirMongoDB
// net.tls.certificateKeyFile dosyasını (aynı yolda) yenile, sonra yeniden başlatmadan yükle (5.0+):
db.adminCommand({rotateCertificates: 1})Redis
CONFIG SET tls-cert-file /path/yeni.crt
CONFIG SET tls-key-file /path/yeni.keyElasticsearch
# ES, xpack.security.*.ssl altında tanımlı sertifika/anahtar dosyalarını (PEM, PKCS#12) izler ve
# AYNI yoldaki dosya değişince otomatik yeniden yükler (yeniden başlatma gerekmez).
# Yol, dosya adı veya keystore parolası değişiyorsa rolling restart gerekir.
# Not: POST _nodes/reload_secure_settings yalnızca yeniden yüklenebilir keystore ayarları içindir, TLS sertifikası için değildir.
# Doğrula: openssl s_client ile yeni bitiş tarihini kontrol edin ve ES loglarında
# sertifikanın yeniden yüklendiğine dair kaydı arayın.4. Doğrula
Yeni sertifikayla TLS el sıkışmasının başarılı olduğunu ve süresinin uzadığını yukarıdaki openssl komutuyla teyit et; bir istemciyle uçtan uca bağlan.
5. Kalıcı: bir daha yaşama
Sertifika bitişine 30 gün kala alarm kur; otomatik yenileme (ACME/Let's Encrypt, HashiCorp Vault, cert-manager) kullan. Yenileme sonrası reload'ı otomasyona bağla.