Let's Encrypt Sertifikası Otomatik Yenilenme Hatası Ve Mixed Content Çözüm Rehberi

  • Thread starter Thread starter asilongun35
  • Başlangıç zamanı Başlangıç zamanı
  • 11
  • Cevaplar : 1
  • Görüntülenme : 11
Puanlar 3
Solutions 0
SSL sertifikası otomatik yenilenmeme hatası ve mixed content çözümü, e-ticaret ve kurumsal siteler için sadece bir teknik hata değil; doğrudan gelir kaybına yol açan ciddi bir operasyonel risktir. Çoğu webmaster, Let's Encrypt arka planında sessizce işlem yaptığını sanırken, sunucu kaynaklarındaki küçük bir tıkanıklık bile aylık trafiğin %15 oranında erimesine neden olabilir. Bu rehberde, bu iki baş belayı kökten çözmek için kullandığım pratik yöntemleri ve somut verileri paylaşacağım.

📌 1. Otomatik Yenilemenin Arkasındaki Sessiz Katiller

Öncelikle şunu netleştirelim: Let's Encrypt'in `acme.sh` veya `cron` tabanlı yenileme mekanizması, %99 ihtimalle çalışıyor. Sorun genellikle semptomun kendisinde değil, tetikleyici faktörde gizli. Deneyimlerime göre bu hatanın en büyük sebebi, sunucu üzerindeki `DNS` çözümleme gecikmeleri veya `TCP 80/444` portlarındaki ani kapanmalardır.

Özellikle paylaşımlı hosting kullanan sitelerde, komşu sitelerin kaynak tüketmesi (Docker container limit breakdown) SSL isteklerinin timeout yapmasına neden olur. Bu durumda sertifika yenilenir gibi görünür ama mevcut aktif sertifika silinmez, eski tarihli olan geçerli kalır ve tarayıcılar "expired" hata vermeye başlar.

Bu problemi tespit etmek için basit bir `log` takibi şart. Benim kullandığım yöntemde, her yenileme sonrası hem `cron` çıktısını hem de Apache/Nginx error loglarını cross-check ediyorum. Aşağıdaki adımlar, sorunu dakikalar içinde izole etmenizi sağlar:

• DNS TTL Ayarı: Alan adınızın TTL değerini 3600 (1 saat) veya altına düşürün. Yüksek TTL'ler, IP değişimlerinde veya DNS sunucusu geçiciliklerinde yenileme isteklerinin yanlış sunucuya gitmesine neden olur.

• Cron Job Zamanlama: Yenileme işleminini yoğun trafik saatlerine (09:00-18:00) denk getirmeyin. 03:00 - 04:00 arası en sakin dönemdir ve sunucu yükünü minimumda tutarak hata oranını sıfıra indirir.

• Webhook Bildirimleri: Sadece loglara güvenmeyin. Her başarılı veya başarısız yenileme sonrası Telegram veya e-posta bildirim kuran basit bir script ekleyin. Hata oluştuğu an, e-posta kutunuzdaki "SSL Failure" ibaresi, sitenin tamamen kapanmasından 24 saat önce haberdar olmanızı sağlar.
 
Moderatör tarafindan son düzenleme :
Mixed content konusunda e-ya da kurumsal sitelerde sıkıntı yaşamak istemiyorsanız, browser cache'inin yanı sıra sunucu tarafındaki "Yeni Önbellek" sorununa da dikkat edin; bazen CDN veya uygulama katmanında (örn. Varnish/LiteSpeed) eski HTTP linkleri önbellekte kalıyor ve temizleme işlemi yetmeyebiliyor. Ben kendi hostlarımda `.htaccess` ya da Nginx config içinde `Cache-Control` header'larını sıkılaştırıp, özellikle static resource'ler için `max-age` değerini düşürerek geçiş dönemini yönetiyorum. Ayrıca Let's Encrypt yenilemede `acme.sh` kullanıyorsanız webhook scriptinde sadece log değil, Nginx reload komutunu da tetiklediğinizden emin olun; yoksa sertifika yenilse bile sunucu eski sürümle devam edebiliyor.
 
Top