Eksik ara sertifika (incomplete chain) hatası nedir, nasıl düzeltilir?
2 dk okuma
Sertifikanız geçerli olduğu hâlde bazı tarayıcı ve uygulamalar "güvenilmez" mi diyor? Sebep genellikle eksik ara sertifikadır. Belirtileri, teşhisi ve sunucu bazında çözümü.
Belirti: bazı cihazlarda çalışıyor, bazılarında güvenlik uyarısı
Eksik ara sertifika, SSL hatalarının en sinsisidir: site sizin bilgisayarınızda sorunsuz açılır, ama bir müşteriniz telefonundan "bağlantınız gizli değil" uyarısı görür; curl unable to get local issuer certificate, Java uygulamaları PKIX path building failed der. Sertifikanız geçerlidir — sorun sertifikada değil, sunucunun onu eksik tanıtmasındadır.
Tarayıcılar bir sunucu sertifikasına doğrudan güvenmez; onu, güvendikleri bir kök sertifikaya bağlayan ara sertifikalar üzerinden doğrular. Sunucu bu ara halkaları göndermezse bazı istemciler zinciri kendi önbelleğinden tamamlar (o yüzden "bende çalışıyor"), bazıları tamamlayamaz ve bağlantıyı reddeder.
Teşhis: 10 saniyede kesin sonuç
Alan adınızı SSLx ile sorgulayın. Sertifika Zinciri bölümündeki rozet "Zincir sorunlu: eksik ara sertifika — tarayıcılar güvenmez" diyorsa teşhis kesindir: SSLx bu kararı tahminle değil, doğrulama açık gerçek bir TLS el sıkışmasıyla verir. Zincir kartlarında SUNUCU sertifikasından sonra ARA sertifikanın gelmediğini de gözle görürsünüz.
Çözüm: "fullchain" kullanın
Sertifika sağlayıcınız size genellikle iki dosya verir: sunucu sertifikası ve ara sertifika(lar). Sunucuya yalnız ilkini kurmak bu hatayı üretir. Doğrusu, ikisini birleştiren dosyayı kullanmaktır:
Nginx: ssl_certificate yönergesine tek sertifika değil fullchain.pem verin (Let's Encrypt / certbot bu dosyayı hazır üretir). Apache 2.4.8+: SSLCertificateFile fullchain dosyasını göstersin. IIS: ara sertifikayı sunucunun "Intermediate Certification Authorities" deposuna içe aktarın. Değişiklikten sonra servisi yeniden yükleyip SSLx ile tekrar test edin — rozet yeşile dönmelidir.
Kök sertifikayı zincire eklemek gerekmez; tarayıcı kökü kendi deposundan tanır. Eklemek hata değildir ama her el sıkışmada boşa bayt taşır.
Kendi sitenizi test edin
Bu rehberdeki teşhisleri SSLx on saniyede sizin için yapar: zincir doğrulama, alan adı eşleşmesi, süre ve HSTS — ücretsiz, kayıtsız.
SSLx ile test etSık sorulan sorular
Sertifikam geçerli görünüyor; neden bazı kullanıcılar hata alıyor?
Bilgisayarınız eksik halkayı daha önce gördüğü için önbelleğinden tamamlıyor olabilir. İlk kez bağlanan bir cihaz veya curl gibi katı bir istemci tamamlayamaz ve reddeder. Sunucunun zinciri eksiksiz göndermesi gerekir.
"unable to get local issuer certificate" her zaman sunucu hatası mıdır?
Çoğunlukla evet (eksik ara sertifika). İstisna: kurum ağlarında SSL denetimi yapan güvenlik yazılımları da aynı hatayı üretebilir. SSLx gibi dışarıdan bakan bir araç yeşil diyorsa sorun istemci tarafındadır.