Kısa cevap
SSL sertifikatı, otomatik yenileme (cron görevi veya systemd zamanlayıcısı) ayarlandığında otomatik olarak yenilenir; ticari sertifikayı ise son kullanma tarihinden önce manuel olarak yenilersiniz. Son kullanma tarihini `openssl x509 -enddate -noout -in sertifika.crt` komutuyla kontrol edin, otomatik yenilemeyi ayarlayın ve uyarıları takip edin. Böylece sitenin kesintiye uğramasını ve tarayıcı uyarılarını önlersiniz.
Sorun nasıl anlaşılır
- Tarayıcı „Bağlantınız gizli değil“ veya „Sertifikanın süresi doldu“ uyarısı gösteriyor
- Kullanıcılar siteye erişemiyor veya güvenlik hatası görüntüleniyor
- HTTPS bağlantısı kesiliyor veya tarayıcı devam etmeye izin vermiyor
- İzleme araçları sertifikanın süresinin dolduğunu bildiriyor
- Sertifika sağlayıcısından sertifika süresi dolumu e-postaları geliyor
En yaygın nedenler
Otomatik yenileme ayarlanmamış
Let's Encrypt sertifikaları 90 gün geçerlidir ve otomatik yenileme önerilir. Cron görevi veya systemd zamanlayıcısı etkin değilse sertifikanın süresi dolar.
Yenileme cron görevi çalışmıyor
Görev yanlış yazılmış olabilir, izinler eksik olabilir veya yanlış ortamda çalışıyor olabilir, bu nedenle yenileme gerçekleşmez.
Ticari sertifikanın manuel yönetimi
Ticari sertifikaların sınırlı bir geçerlilik süresi vardır (yürürlükteki kurallara göre en fazla 200 gün) ve genellikle manuel olarak yenilenir. Hatırlatıcı olmadan son kullanma tarihi kolayca kaçırılır.
Sunucu yapılandırmasının değişmesi
Site taşındıktan veya web sunucusu değiştirildikten sonra sertifika yolları veya yenileme yöntemi yanlış olabilir.
Yanlış sistem saati
Sunucu, yanlış sistem saati nedeniyle sürenin erken dolduğunu bildirebilir. Saatin doğru olup olmadığını kontrol edin.
Adım adım çözüm
- 1
Sertifikanın son kullanma tarihini kontrol edin
Tam tarihi görmek için
openssl x509 -enddate -noout -in /sertifika/yolu/sertifika.crtkomutunu çalıştırın. Alternatif olarak tarayıcıda adresin yanındaki kilit simgesine tıklayın ve sertifika ayrıntılarını görüntüleyin. Tarihi not edin ve mevcut tarihle karşılaştırın. - 2
Otomatik yenilemenin etkin olup olmadığını kontrol edin
Certbot ile Let's Encrypt için
sudo certbot renew --dry-runkomutunu çalıştırın. Çıktı başarılıysa yenileme çalışıyor demektir. Aksi takdirde cron görevlerini (örneğinsudo crontab -lile) veya systemd zamanlayıcılarınısystemctl list-timersile kontrol edin. - 3
Sertifikayı manuel olarak yenileyin
Sertifikanın süresi dolduysa
sudo certbot renewkomutunu çalıştırın. Bu işe yaramazsasudo certbot certonly --force-renewal -d siteniz.comkomutunu çalıştırın;--force-renewalseçeneğini yalnızca veriliş sayısı sınırlaması nedeniyle gerekli olduğunda kullanın. Ticari sertifika için sağlayıcıdan yeni bir sertifika indirin, eski dosyanın yedeğini alın ve değiştirin. - 4
Web sunucusunu yeniden yükleyin
Yenilemeden sonra değişiklikleri uygulayın:
sudo systemctl reload nginxveyasudo systemctl reload apache2. Sitenin HTTPS ile tekrar çalışıp çalışmadığını kontrol edin. - 5
Otomatik yenilemeyi ayarlayın
Let's Encrypt kullanıyorsanız yalnızca tek bir otomatik yenileme mekanizması kullanın. Cron için root kullanıcısının crontab dosyasında etkin bir görev olup olmadığını kontrol edin, örneğin:
0 3 * * * /usr/bin/certbot renew --quiet(certbot yolunu uyarlayın). Systemd içincertbot.timerdosyasınınsystemctl status certbot.timerile etkin olup olmadığını kontrol edin ve aynı anda cron kullanmayın. - 6
Yenilemeyi test edin
Gerçek bir sertifika düzenlemeden yenilemeyi simüle etmek için
sudo certbot renew --dry-runkomutunu çalıştırın. Kimlik doğrulama veya izinlerle ilgili hata olmadığından emin olun. - 7
Süre dolumu izlemesi ayarlayın
ssl-cert-checkgibi bir araç veya harici bir izleme hizmeti kullanın. Son kullanma tarihinden en az 14 gün önce uyarılar ayarlayın. Sertifika sağlayıcısından gelen e-postaları düzenli olarak kontrol edin.
Hiçbir şey işe yaramazsa
Sertifika manuel olarak başlatıldıktan sonra bile yenilenmiyorsa günlükleri kontrol edin: sudo journalctl -u certbot.service veya /var/log/letsencrypt/letsencrypt.log. Sık karşılaşılan hatalar başarısız HTTP kimlik doğrulaması (HTTP-01 sorgusu için 80 numaralı bağlantı noktası erişilebilir olmalıdır), webroot dizinine yanlış yol veya eksik izinlerdir. Ticari sertifikalar için ara sertifikayı (CA bundle) da yükleyip yüklemediğinizi kontrol edin. Site üretim ortamındaysa ve erişilemez olmaması gerekiyorsa, sorunu çözene kadar geçici olarak ücretsiz bir sertifika kullanmayı düşünün. Değişikliklerden önce her zaman yapılandırmanın yedeğini alın.
Tekrarlanmaması için
- Sertifikanın son kullanma tarihini düzenli olarak kontrol edin ve hatırlatıcılar ayarlayın
- Otomatik yenilemeyi etkinleştirin ve ayda bir kez test edin
- Sertifika sağlayıcısından gelen e-postaları takip edin ve uyarıları yok saymayın
- Süre dolmadan önce sizi bilgilendirecek bir izleme aracı kullanın
Ne zaman uzmana başvurmalı
Otomatik yenilemeyi nasıl ayarlayacağınızdan emin değilseniz veya çözemeyeceğiniz yenileme hatalarıyla karşılaşıyorsanız bir IT uzmanına başvurun. Ayrıca site yüksek trafiğe sahipse ve erişilemez olmaması gerekiyorsa, yenilemeyi profesyonellere bırakmanız daha iyi olur.
BT altyapı bakımı · Sunucular, ağlar, yedekleme, güvenlik ve yardım masasıSık sorulan sorular
SSL sertifikası ne sıklıkla yenilenmelidir?
Let's Encrypt sertifikaları 90 gün geçerlidir ve otomatik yenileme önerilir. Ticari sertifikalar günümüzde genellikle bir yıldan çok daha kısa süre geçerlidir (yürürlükteki kurallara göre en fazla 200 gün) ve tam süre sağlayıcıya bağlıdır. Her zaman son kullanma tarihini kontrol edin ve mümkünse otomatik yenilemeyi ayarlayın.
Sertifikanın süresi dolarsa ne olur?
Tarayıcılar bağlantının güvenli olmadığına dair uyarı gösterir ve kullanıcılar ziyaretten vazgeçebilir. HSTS veya daha katı güvenlik politikalarıyla erişim tamamen engellenebilir, bu da sitenin güvenliğini ve itibarını etkiler.
Yenilemenin başarılı olduğunu nasıl anlarım?
Yenilemeden sonra yeni son kullanma tarihini `openssl x509 -enddate -noout -in sertifika.crt` komutuyla veya tarayıcıda kontrol edin. Sitenin uyarı olmadan çalıştığından ve web sunucusunun yeniden yüklendiğinden emin olun.