Bu, sertifika arızalarının en kafa karıştırıcılarındandır; çünkü sizde çalışır. Masaüstü tarayıcılar, başka sitelerden gördükleri ara sertifikaları saklar ve boşluğu sessizce doldurur; o ara sertifikayı hiç görmemiş bir telefon ile her komut satırı istemcisi ise bunu yapamaz.

Belirtisi

  • Dizüstünüzde sorunsuz, telefonda güvenilmez.
  • curl, unable to get local issuer certificate der.
  • Tarayıcılar memnunken bir ödeme geçidi ya da web kancası bağlanamaz.

Doğrulayın

openssl s_client -connect yourdomain.com:443 -servername yourdomain.com < /dev/null 2>/dev/null \
  | grep -E '^ *[0-9]+ s:|Verify return code'

Listede en az iki sertifika görmek istersiniz — sizinki ve ara sertifika — bir de Verify return code: 0 (ok). Tek bir sertifika ile birlikte bir doğrulama hatası, tam olarak bu arızadır.

Sebebi tek bir dosya adıdır

fullchain.pem yerine cert.pem sunmak. cert.pem yalnızca sizin sertifikanızdır; fullchain.pem ise sizin sertifikanızın ardından ara sertifikanın geldiği dosyadır. Yapılandırmadaki tek bir sözcüktür, ve neredeyse her zaman sorunun tamamıdır.
# nginx - correct
ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# apache / litespeed
SSLCertificateFile      /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

Yeniden yükleyin ve bir daha bakın

sudo nginx -t && sudo systemctl reload nginx
curl -sS -o /dev/null -w '%{http_code}\
' https://yourdomain.com

Önbelleği olmayan bir yerden deneyin

Siteyi hiç ziyaret etmemiş bir makinede curl, ya da site verileri temizlenmiş, mobil veriye bağlı bir telefon. Size yanıtı veremeyecek tek istemci, kendi tarayıcınızdır — bkz. Kablosuz ağda çalışıyor, mobil veride çalışmıyor.