Eksik SSL Sertifika Zinciri: Nedenleri, Çözümü ve Nasıl Doğrularsınız
Eksik SSL sertifika zinciri, ekibin yarısını yanıltan kesintidir. Yaprak geçerli, özel anahtar eşleşiyor, httpd temiz reload ediyor—telefonlar hâlâ güven hatası gösteriyor. Kurumsal ağdaki masaüstleri ara sertifikayı önbellekten bildiği için “bizde çalışıyor” der. Mobil ağlar bilmez.
Bu yazı pratikte “zincir”in ne olduğunu, eksik ara sertifikayı nasıl yakalayacağınızı ve Apache / Nginx / IIS / cihaz kurulumlarını tahmin etmeden nasıl düzelteceğinizi anlatır.
Yaprak, Ara, Kök—Kim Gönderilmeli?
Kamuya açık TLS güveni bir yoldur:
- Yaprak (sunucu sertifikası) — hostname’leriniz için üretilir.
- Ara sertifika(lar) — yaprağı imzalayan CA.
- Kök — tarayıcı ve OS güven depolarında gömülüdür. Normal HTTPS’te kökü göndermezsiniz.
Sunucu yaprak + ara sunmalıdır. Yalnız yaprak = klasik eksik zincir. Yaprak + ara + kök çoğu zaman zararsızdır ama gereksizdir; bazı tarayıcılar fazla sertifikadan şikâyet eder.
Arka plan: SSL sertifikası nedir.
Eksik Zincir Nasıl Görünür?
| Sinyal | Anlam |
|---|---|
| SSL Labs “Chain issues: Incomplete” | Sunucu ara sertifikayı atlamış |
openssl s_client verify error 20 / 21 |
Yerel doğrulayıcı köke yol kuramıyor |
| Masaüstü Chrome’da olur, Android’de olmaz | İstemci ara önbelleği farklı |
| Bir araçta “geçerli”, tarayıcıda kırmızı | Araç AIA ile ara çekmiş olabilir; tarayıcı daha katı davranır |
Süre dolumu ayrı konudur—SSL süresi doldu ne yapmalı. Yanlış hostname (CN/SAN) da ayrıdır: zincir tamam olsa ad kontrolü yine düşer.
İki Dakikada Doğrulama
Hostname’i değiştirin:
echo | openssl s_client -connect ornek.com:443 -servername ornek.com 2>&1 | head -n 40
El sıkışmasındaki sertifika sayısına bakın. Tek sertifika çoğu zaman “yalnız yaprak” demektir. İki-üç genelde yaprak + ara(lar).
Ayrıca temiz mobil tarayıcı veya SSL Labs kullanın. Yıllardır staging CA’nızla konuşan iş istasyonuna güvenmeyin.
Platforma Göre Düzeltme
Nginx
Let's Encrypt tarzı fullchain.pem (yaprak, sonra ara) tercih edin:
ssl_certificate /etc/nginx/ssl/ornek.fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/ornek.key;
Yalnız cert.pem’e bakıyorsanız fullchain’e geçip reload edin. Bağlam: Linux NGINX SSL kurulumu.
Apache
Aynı fikir—modern 2.4’te fullchain SSLCertificateFile içinde:
SSLCertificateFile /etc/ssl/ornek/fullchain.pem
SSLCertificateKeyFile /etc/ssl/ornek/privkey.pem
Daha fazla Apache: Apache SSL sertifika kurulumu.
IIS / Windows
Depoda ara sertifikalar olmalı; bağ doğru hash’i kullanmalı. Zinciri içeren PFX import etmek en az hataya açık yoldur. Yalnız yaprak PEM’den PFX üretmek hatayı yeniden üretir. PEM PFX farkı, IIS Let's Encrypt.
Firewall ve yük dengeleyiciler
Birçok cihaz “sertifika” ve “CA bundle / zincir” diye ayrı alan ister. Operatör yaprağı ikisine de yapıştırır veya köke zincir der. CA’nın ara paketini olduğu gibi kullanın. Örnek: FortiGate SSL.
Reseller Zip’leri Neden Karıştırır?
Ticari indirmelerde sıkça:
domain.crt(yaprak)SomethingCA.crt/bundle.crt(ara)- isteğe bağlı kök (sunucu config’inde yok sayın)
- bazen birleşik
fullchain
İnsanlar dizüstünde kilit gördüğü için yalnız domain.crt yükler. Mobil kullanıcılar katılmaz. Satın alırken fullchain’i net etiketleyenleri tercih edin—SSL nasıl alınır.
Certinite indirme paketi yaprak, CA bundle ve fullchain’i ayırır; her sunucunun alan adına uydurursunuz.
Otomasyon Açısı
Eksik zincir çoğu zaman insan paketleme hatasıdır. Hep aynı fullchain artefaktını deploy eden otomasyon bu sınıfı küçültür. Yenilemeler sıklaştıkça (süreler, 2027 SSL fiyatları) bu daha önemli.
Ücretsiz DV veya ticari DV (ücretsiz vs ücretli) fark etmez; zincir kuralları değişmez.
SSS
Eksik zincir güvenlik açığı mı?
Öncelikle erişilebilirlik / güven arızasıdır: istemci sizi doğrulayamaz. Zayıf cipher ile aynı şey değildir ama kullanıcı farkı ayırt edemez—gider.
AIA kurtarır mı?
Bazı istemciler Authority Information Access ile ara çeker. Buna bel bağlamak kırılgandır (çevrimdışı istemci, bozuk AIA, captive portal). Zinciri kendiniz sunun.
Wildcard’ın özel zinciri var mı?
Hayır. Wildcard yalnız SAN ve genelde doğrulama yöntemini değiştirir (wildcard rehberi). Zincir montajı aynıdır.
Cloudflare “Full (strict)” kullanıyoruz. Hâlâ bizim sorunumuz mu?
Cloudflare origin’e Full (strict) ile bağlanıyorsa origin Cloudflare’in güvendiği tam zinciri sunmalı. Flexible, tarayıcıdan origin zincir bug’unu gizleyebilir; origin’i openssl ile IP/SNI üzerinden test edin.
Özet
İstemcilerin yarısı “geçerli” sertifikaya güvenmiyorsa ara sertifika muhtemelen zip’te kalmıştır. openssl ve SSL Labs ile doğrulayın, fullchain’i tutarlı deploy edin, yenilemelerde aynı artefaktı gönderin.
Sunucu sunucu yapıştırma yorgunluğunda Certinite; ticari DV ve düzgün indirme için fiyatlandırma.